Guid RSVID = New Guid("XXXXXXXXXXX");
var m = db.table.FirstOrDefault(f => f.RSVID == RSVID);//這里永遠都沒有匹配的,f.RSVID == RSVID永遠都是false
物體f.RSVID 是GUID型別
資料庫是ORACLE 欄位型別是RAW(16) 默認值sys_guid()
select * from table where RSVID ="XXXXXXXXXXX" 直接使用sql陳述句是沒問題的, ef就是查不到 為啥為啥
uj5u.com熱心網友回復:
沒怎么使用 oracle,但是RAW(16) 是不是代表長度16?但是guid有36位吧,不算-也有32位
uj5u.com熱心網友回復:
長度,大小寫uj5u.com熱心網友回復:
param.Add("@RsvId", RSVID, MyDbType.Raw);//一定要加上型別,ORACLE的格式不太一樣uj5u.com熱心網友回復:
把 2個 tostring() 后看看哪里不一樣。uj5u.com熱心網友回復:
Guid初始化不能這么寫吧?我記得是var Id= Guid.NewGuid();這樣才能生成唯一的Guid;直接new的話好像永遠都是0?轉載請註明出處,本文鏈接:https://www.uj5u.com/net/128607.html
標籤:ASP.NET
