1. 資料庫自關聯,如 樹 ,自關聯,不能強制外來鍵約束, 否則,一條資料也插入不進去。
database db
=new
database(
"dbo");
console.readkey();
var ss
=stateentity.findbyid(
"010");
wth.stop();
console.writeline(
"nb: "+
wth.elapsedticks );
}var ddd
=objectconvertor.toobject
<
datarow
>
(ss);
datarow dr
=dtb.newrow();
foreach
(propertyinfo item
inss.gettype().getproperties())
}wth.stop();
console.writeline(
"reflect: "+
wth.elapsedticks);
}datarow dr
=dtb.newrow();
foreach
(propertyinfo item
inss.gettype().getproperties())
}wth.stop();
console.writeline(
"fast t: "+
wth.elapsedticks);
}測試結果:
nb: 315023
reflect: 18563
fast t: 251098
dict t: 20955
nb 是 nbearlite 1.0.2.5 裡提供的方法,內部是用 emit 實現的。
fast t: 是 提供的開源 反射元件。
dict t: 是乙個用 dictionary儲存資料的 實體。 如下:
public
partial
class
stateentity : nbearlite.activerecord
<
stateentity
>
, inbmodal
set}public
string
name
set }
public
void
setvalue(
string
key,
object
value)
public
object
getvalue(
string
key)
public
string
getkeys()
static
stateentity()
}普通的 reflect 更快。 猜測:
fast reflector 用了快取, 當迴圈次數少的時候,看單次執行效率, 它執行的效率比較差。
從我得到的資料, emit 應該比普通的 reflect 更快。 跟 fast reflector 一樣。它也很慢。
dictionary
<
string
, object
> 比反射還慢? 不理解。泛型嗎 ? 我換成 namevaluecollection 還是一樣。換成 hashtable 效能比反射好一些(18000)。看來, 泛型的效能一般。 其它的更不行。
測試不能僅僅玩 快取。 那樣的話, 就沒為了測試而測試了。有更準的測試歡迎拍磚。
4.sqlserver 裡的 bit ,雖然對應到 c# 裡是 bool , 但是 nbearlite 是對應不上的。 因為c# 裡沒有把 bit 轉換為 bool 的方法 。 改用 int 吧。
getselectlastinsertautoincrementidsql 函式應該為:
return "select @@identity";
當有插入觸發器的時候,scope_identity()會返回 null 值 . msdn說 : scope_identity 只返回插入到當前作用域中的值 .意思是說, 觸發器插入在另外乙個作用域.想想也是. 而 @@identity 不受限制.
NBear3 7移植到 Mono2 筆記
準備 在 opensuse11 下搭建了 mono2 環境 更新系統,把能打的補丁全打上,這樣可以啟用 debugger 1.windows 上的 system.data.sqlite 不能正常載入。去除,新增 mono.data.sqlite 2.mono 沒有完全實現 system.data.d...
使用NBear設計乙個新的實體類時需要進行的操作
當我們使用nbear設計乙個新的實體類時,我們需要進行以下的操作 1 在實際開發專案之外,建立乙個新的實體設計專案 該專案只在設計時有用 2 新建乙個實體類進行設計。3 新增對nbear的引用。4 新增對實際專案的引用。5 設計實體元資料。6 編譯。7 通過nbear.tools.entitydes...
設計模式筆記
1 類繼承與介面繼承的比較。物件的類與物件的型別的比較 乙個物件的類定義了物件怎麼樣實現的,同時也定義物件內部狀態和操作的實現。但是物件的型別只與他的介面有關,藉口即物件能響應的請求的集合。乙個物件可以有多個型別,不同的類物件可以有相同的型別。理解類繼承和介面繼承之間的差別也十分重要。類繼承根據乙個...