假设我有一个与表Role具有1:1关系的数据库表User。 Entity Framework生成的类将是:
// Generated by Entity Framework
public partial class User
{
public int ID { get; set; }
public string Name { get; set; }
public Guid RoleID { get; set; }
public Role Role { get; set; }
}
现在出于审计目的,我想保存角色名称,所以我用自己的属性定义自己的部分类:
// Written by myself
public partial class User
{
public string RoleName {get { Role.Name; }}
}
我如何告诉EntityFramework跟踪User.RoleName就像跟踪User.Name一样?
var modifiedEntities = ChangeTracker.Entries();
foreach (var change in modifiedEntities)
{
var name = change.Property("Name").OriginalValue; // ok
var roleName = change.Property("RoleName").OriginalValue; // gives error
}
错误说“成员'OriginalValue'无法在'User'类型的实体上为属性'RoleName'调用,因为该属性不是实体数据模型的一部分。”