我有一个数据库,我已经从位于我的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定义。是什么赋予了?我确定这是我的问题的根源,但为什么会发生这种情况。我尝试创建一个测试数据上下文,并将表拖放到它上面,但它仍然不会创建必要的代码。