我正在使用“对象关系设计器”为我的SQL数据库表创建实体。
问题:为什么有些类会实现INotifyPropertyChanging
,INotifyPropertyChanged
而其他类不实现?
当我想使用未实现INotifyPropertyChanging
,INotifyPropertyChanged
的LINQ To SQL实体更新数据库中的某些数据时出现问题。
实体辩护:
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.user_to_user")]
public partial class user_to_user
{
private int _user_id1;
private int _user_id2;
private string _relation_type;
public user_to_user()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_user_id1", DbType="Int NOT NULL")]
public int user_id1
{
get
{
return this._user_id1;
}
set
{
if ((this._user_id1 != value))
{
this._user_id1 = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_user_id2", DbType="Int NOT NULL")]
public int user_id2
{
get
{
return this._user_id2;
}
set
{
if ((this._user_id2 != value))
{
this._user_id2 = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_relation_type", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
public string relation_type
{
get
{
return this._relation_type;
}
set
{
if ((this._relation_type != value))
{
this._relation_type = value;
}
}
}
}
的DataContext:
private Table<user_to_user> friendsTable = new BSocialDBDataContext().GetTable<user_to_user>();
然后我尝试:
public void FriendshipOffer(int visitor_id, int owner_id)
{
var relation = friendsTable.FirstOrDefault(u => (u.user_id2 == visitor_id && u.user_id1 == owner_id));
relation.relation_type = "friend";
friendsTable.Context.SubmitChanges();
}
答案 0 :(得分:1)
实体密钥是否包含在linq语句的返回数据中?