EF4 1中詭異的GUID為空問題

2022-01-26 03:43:46 字數 2931 閱讀 4671

在用ef4.1過程中發現了乙個非常詭異的guid為空問題,不說廢話,直接看問題吧:

測試表userinfo(sql server 2008 r2):

這裡是建表sql語句,供有興趣朋友測試:

table

[dbo].

[userinfo](

[id][

int]

identity(1

,1) not

null,[

userid][

uniqueidentifier

]not

null,[

username][

nvarchar](

50) 

null,[

email][

varchar](

50) 

notnull,[

picid][

uniqueidentifier

]null

,primary

key([id

]))go

userinfo實體類:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.runtime.serialization;

using

system.data.entity;

using

system.componentmodel.dataannotations;

namespace

consoletest

[datamember]

public

guid userid 

[datamember]

public

string

username 

[datamember]

public

string

email 

[datamember]

public

guid picid }}

ef配置**:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.data.entity;

using

system.configuration;

namespace

consoletest

public

dbset

<

userinfo

>

userinfos 

}using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.data.sqlclient;

namespace

consoletest

}public

list

<

userinfo

>

getuserinfonew()}}

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.text.regularexpressions;

namespace

consoletest

}select

[extent1].

[id]as

[id], 

[extent1].

[userid]as

[userid], 

[extent1].

[username]as

[username], 

[extent1].

[email]as

[email], 

[extent1].

[picid]as

[picid

]from

[dbo].

[userinfo]as

[extent1

]where([

extent1].

[username]is

notnull

) and([

extent1].

[email]is

notnull

)第二個方法sql語句:

exec

sp_executesql n

'select 

''00000000-0000-0000-0000-000000000000

''as uniqueidentifier) <> [extent1].[picid])',n

'@p__linq__0 uniqueidentifier',

@p__linq__0='

00000000-0000-0000-0000-000000000000

'詭異在第乙個方法生成的sql語句中型別為guid的兩個欄位的不為空的條件沒有了,第二個方法是本人針對第一種方法不足提供的一種解決方案,不知大家有什麼看法,怎麼解決這一問題的,請不吝賜教!

EF4 1之基礎(實現Code First)

code first 顧名思義 就是通過 生成資料庫 通過類生成資料庫中對應的表 首先定義兩個類 就是建模的過程 1 public class order24 5public string ordercode 67 public string custormname 89 public icolle...

基於EF4 1的異構資料庫訪問元件(三)

基於ef4.1的異構資料庫訪問元件 二 中已完成了該元件的核心部分 接下來,向大家介紹一下第一篇所說的,給上層提供統一的持久資料介面。irepository就是需要提供給上層的統一資料持久介面,這裡大家可以找到很多的例子,不多說,直接上類圖 上圖中有以下幾個主要部分 關於iunitofwork與ir...

EF4 1 企業架構模式 自動對映資料表

在講解之前,先來看看解決方案的架構 1 在nop.core下的domain裡建立乙個實體category using system.data.entity.modelconfiguration using nop.core.domain.catalog 3 在nop.data下建ef上下文介面idb...