C.J*_*.J. 3 entity-framework entity-framework-4.1
有时从基类派生我的实体是有用的,如下所示:
public abstract class DestructableBase : IDestructable
{
/// <summary>
/// If true, this object should be deleted from the database.
/// </summary>
[NotMapped]
public bool _destroy { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这允许Web客户端将数据标记为在将数据发布回服务器时需要被删除.显然我不希望在数据库中记录这样的属性,所以我使用[NotMapped]属性.
我已经开始越来越多地使用流畅的API来完成我的配置,并希望停止使用数据注释.有没有办法使用流畅的API来执行此操作,而无需单独在每个实体上设置Ignore()?或者有更好的方法吗?
您可以尝试将此类用作实体配置的基类:
public class DestructableBaseConfiguration<TEntity> : EntityTypeConfiguration<TEntity>
where TEntity : DestructableBase
{
public DestructableEntityConfiguration()
{
Ignore(e => e._destroy);
}
}
Run Code Online (Sandbox Code Playgroud)
现在每个其他实体派生自DestructableBase需要实体配置类派生而来DestructableBaseConfiguration.您将注册您的配置,以modelBuilder在OnModelCreating.
| 归档时间: |
|
| 查看次数: |
2673 次 |
| 最近记录: |