我有如下相當簡單的表結構,對我來說聽起來很奇怪。儘管我已經選擇瞭解決這個問題,但是想徵詢專家意見。實體框架nvarchar對外鍵的大小寫敏感性
我有兩個表
Users
UserName nvarchar(250) Primary Key
FirstName nvarchar(50)
LastName nvarchar(50)
Registrations
Id BigInt PrimaryKey
User nvarchar(250) - Foreign to Users Table
Date - DateTime
Data I have is as follows.
Users
UserName FirstName LastName
a Small A
b Small B
Registrations
Id User Date
1 A 1/1/12
2 B 1/1/12
請注意用戶的案例這裏是大寫它是SQL有效,它接受。
現在有趣的部分。我生成了EDMX,.Net 4.0和現在我執行這個代碼。
using (EFTestEntities context = new EFTestEntities())
{
var item = context.Registrations.Where(id => id.Id == 1).FirstOrDefault();
Response.Write(item.User1.LastName);
}
它只是空指針異常用戶1打破拋出空,當我更改用戶名列的值註冊人數表一個代替一個它的工作原理。
大約有幾分相似
請分享你的答案爲什麼這種行爲,我的數據庫的排序規則是區分insentivity。你有沒有面對類似的?
我不得不做點1是在這一點DB變化不是的答案可能 – Kusek 2012-03-18 04:27:46
@ladislav感謝。這些信息不是顯而易見的,但瞭解這一點給了我解決我的問題所需的見解。我不得不用一個非常薄的遺留數據庫來處理不同的案例PK,這是我無法控制的。幸運的是,我能夠通過使用視圖並在兩個違規的表上執行'UPPER([PrimaryKey])'來解決問題,以確保它們匹配。我真的不會推薦這種方法,但我必須這樣做才能讓我的程序正常工作。 – theyetiman 2017-02-02 10:20:09