我有一個數據庫,我已經從位於我的SQL Server Pro實例上的bak文件在SqlExpress上恢復。我正在使用Linq與數據庫交互,並能夠查詢和更新我的一些表(我還沒有嘗試過所有)。但是,我至少有一個表不接受任何類型的更新(我的UserAddress表)。如果我運行此查詢SQL Server表未用LINQ更新
TestDataContext td = new TestDataContext();
UserAddress ua = (from u in td.UserAddresses
where u.UserID == 56
select u).Single();
ua.Address1 = "ffffffffffffuuuuuuuuuuu";
td.SubmitChanges();
沒有任何反應。數據庫中沒有提交的文本,沒有例外,沒有任何內容。這是我的連接字符串(數據源= SNEE \ SQLEXPRESS;初始目錄= UsersDatabase;集成安全性= True),儘管我已經使用SQL身份驗證嘗試過它並收到相同的結果。其他人有沒有經歷過這樣的事情?如果是這樣,你做了什麼來讓它起作用?
編輯1 經過在設計師周圍挖掘我注意到一些奇怪的東西。地址類看起來像這樣
[Table(Name="dbo.UserAddress")]
public partial class UserAddress
但是我的用戶類看起來像這樣
[Table(Name="dbo.User")]
public partial class User: INotifyPropertyChanging, INotifyPropertyChanged
我也注意到,擴展方法的定義是爲用戶而不是UserAddress定義。是什麼賦予了?我確定這是我的問題的根源,但爲什麼會發生這種情況。我嘗試創建一個測試數據上下文,並將表拖放到它上面,但它仍然不會創建必要的代碼。