linq 中未更新的字段列的字节类型
本文关键字:字节 类型 字段 linq 更新 | 更新日期: 2023-09-27 18:36:15
sql server中"产品"表中名为Favorite(tinyint)的列。我已经生成了实体,它被转换为实体,如下所示,
public class Products
{
----- Other Fields ------
public byte Favorite { get; set; }
}
我正在尝试通过下面给定的代码更新实体,
using (ADataContext dataContext = new ADataContext())
{
var product = dataContext.Products.Where(p => p.Id == 10).FirstOrDefault();
product.Favorite = (byte)EnumFavoriteType.MostFavorite;
dataContext.SubmitChanges();
}
它没有更新并显示错误
"类型为'System.Data.Linq.ChangeConflictException'的异常 发生在"A.Service.dll中,但未在用户代码中处理"。"行不 发现或更改。
我通过以下方式更改实体类并添加了Favorite
属性PropertyChanged
,
public class Products
{
public byte Favorite { get; set; }
{
get
{
return this.Favorite;
}
set
{
if ((this.Favorite != value))
{
this.OnFavoriteChanging(value);
this.SendPropertyChanged("Favorite");
}
}
}
partial void OnFavoriteChanging(byte value);
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
它对我来说效果很好。