實體對映方案,我選擇的一種

2022-03-13 02:18:01 字數 1828 閱讀 3383

在寫之前,我承認我是個懶人。

現今,分層應用很常見,也少不了資料表與程式語言類/結構的乙個對映。

時下很流行反射對映,相比之下省了點事,產生的問題終究要面對的。

如果用傳統資料訪問層給實體模型賦值,且不論用具體的方法呼叫。但有一點,通常都是在資料訪問層給實體各屬性賦值,一有修改,此處必少不了修改。

如果乙個專案就幾個實體,也就算了。可我還是個懶人。

有沒有更靈活的方法,效能上得能去,靈活性又強?

且看我的做法:

宣告乙個泛型介面 icreatemodel,含方法乙個createmodel,**如下

**

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.data.common;

namespace

moli.framework

}

建乙個抽象實體模型modelbase,實現此介面

**

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.componentmodel;

using

system.data.common;

namespace

moli.framework

public

tkeys id

protected

abstract

t internalcreatemodel(dbdatareader reader);

public

t createmodel(dbdatareader reader)}}

資料訪問層dataaccessbase呼叫此介面

**

public

tmodel createmodel

<

tmodel

>

(string

name,idictionary

<

string

,object

>

filter)

where

tmodel:icreatemodel

<

tmodel

>

,new

()reader.close();

});return

model;

}

示例

**

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

moli.framework.test

public

intage

protected

override

testmodel internalcreatemodel(system.data.common.dbdatareader reader)

if(reader.isdbnull(

++i))

return

this;}

}}

以上問題都能很好解決,寫的不好請多指教!

選擇一種生活

重新選擇一種生活有多麼的不易,左右為難時最折磨人心。生活並不是乙個人就可以擇定的,大多數時候為周圍的人與事牽制著,無法選擇真正想要的生活。理想近乎於完美,現實卻經不起推敲。浪漫情懷時時遭遇當頭一盆冷水。醒時冷清,醉時寂寞,如何安置我心。徘徊,彷徨,去佛前求證因果,至佛前卻已忘記了來時初衷。祈禱?祈禱...

URL重寫的一種方案

url重寫可以讓 看上去更有條理 還可以讓 改版後的舊連線能夠繼續使用。可以參考可用性專家jakob neilsen對url的建議 msdn相關參考 中文 英文 考慮到簡潔,為什麼每個url最後都要是aspx呢?因為如果不是aspx,就無法對映到aspnet中進行處理。想要實現將 2004 這樣的目...

一種DTO的規劃方案

現在以網頁發布的軟體非常普遍,叫bs模式。前後端分離也是大趨勢,或者說逐漸普及開來,深受前後端程式設計師的喜愛,我還是習慣以程式設計師來泛稱所有軟體製作者。後端需要把資料傳送給前端,往往是通過dto的序列化來實現的,而不是直接產生json或xml格式的資料。這裡不說為什麼要用dto,只說 乙個問題,...