EF核心2.2
具有此接口:
public interface INotPersistingProperties
{
string MyNotPersistingPropertyA { get; set; }
string MyNotPersistingPropertyB { get; set; }
}
以及许多实现接口的实体
public class MyEntity : INotPersistingProperties
{
public int Id { get; set; }
public string MyNotPersistingPropertyA { get; set; }
public string MyNotPersistingPropertyB { get; set; }
}
对于实现INotPersistingProperties的所有实体,是否有可能自动忽略这些属性(使用Fluent API)?
4条答案
按热度按时间j9per5c41#
目前EF Core不提供定义自定义约定的方法,但您可以将以下内容添加到
OnModelCreating
覆盖(在发现所有实体类型后),以迭代实现接口的所有实体类型,并为每个属性调用Ignore
fluent API:unguejic2#
为了忽略EF Core特定接口的所有类,我使用了以下代码:
5lwkijsr3#
您可以将
NotMapped
放在接口中的属性上,然后使用MetadataType属性也可以创建一个基类并将属性
NotMapped
放在属性上wgmfuz8q4#
您可以在模型类中的此类属性上使用
NotMapped
属性。或者,您可以在DBContext类的
OnModelCreating
方法中使用反射来忽略这些属性,如下所示。