C# 如何使用通用linq to entities存储库的更新方法
我已经实现了以下代码: 通用存储库:C# 如何使用通用linq to entities存储库的更新方法,c#,C#,我已经实现了以下代码: 通用存储库: 公共抽象类BaseRepository:IRepository,其中T:class { 公共无效更新(T实体) { 使用(上下文=新上下文()) { context.Entry(entity.State=EntityState.Modified; SaveChanges(); } } } 特定存储库: UI层: 单击“刷新”按钮时,出现以下错误: EntityFramework.dll中发生了类型为“System.Data.Entity.Validat
公共抽象类BaseRepository:IRepository,其中T:class
{
公共无效更新(T实体)
{
使用(上下文=新上下文())
{
context.Entry(entity.State=EntityState.Modified;
SaveChanges();
}
}
}
特定存储库:
UI层:
单击“刷新”按钮时,出现以下错误:
EntityFramework.dll中发生了类型为“System.Data.Entity.Validation.DbEntityValidationException”的首次意外异常
其他信息:一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
public class RoleRepository : BaseRepository<Role>
{
}
public class RoleBL
{
static RoleRepository rolRepository = new RoleRepository();
public static Role Edit(int RoleId)
{
return rolRepository.Single(r => r.RoleId == RoleId);
}
public static void Update(Role roleData)
{
rolRepository.Update(roleData);
}
}
private void btnRefresh_Click(object sender, EventArgs e)
{
Role role = new Role()
{
RoleId = this.roleId,
Name = txtName.Text,
Description = txtDescription.Text
};
RoleBL.Update(role);
}