因此,我想将其称为“审计 Linq to Entities”或类似名称,但意识到这并不能完全概括我想要做的事情。简而言之,我们的数据建模器需要在我们的应用程序中的每个表上放置 4 列,甚至是我们的交叉引用表(代表多对多关系中间的表)
无论如何,我已经阅读了大量关于更改跟踪的文章,这与我想要做的很接近,但并不准确。我要做的是覆盖 TSQL 生成以附加我需要更新的未包含在模型中的列。
编辑
更多地考虑这个问题,我意识到我的例子并不完整......想象一下 User <---> Roles 关系以及它是如何工作的。您通常会创建 3 个表:[Users]、[Roles] 和 [UserRoles],其中有 2 列用于将许多用户引用到许多角色。
现在,想象一下,对于所有三个表,您喜爱的 DBA 添加了 4 列:CreatedBy、CreatedOn、UpdatedBy、UpdatedOn。
在代码中,您可能有一个针对每个用户的角色集合(列表、集合、堆栈等),如以下 C# 代码所示:
public class User
{
public int Id { get; set;}
public string Username { get; set;}
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Password { get; set; }
public List<Role> Roles { get; set; }
}
public class Role
{
public int Id {get; set; }
public string Code { get; set; }
public string Description { get; set; }
}
有没有人能够成功地更新所有更新和创建的列,而无需使用实体框架将这些字段添加到他们的模型中,如果是这样,他们能否提供这方面的示例?
同样的问题,但对于 NHibernate。如果 NHibernate 将支持这一点,但 Entity Framework 不支持,我很乐意说服权力允许我们使用 NHibernate 而不是 Entity Framework,因为我有一个正当的理由。