如何解决从属性类型设置的ef核心上下文
在我的项目中,我正在对记录进行软删除(更改为false isActive属性并使用EF Core查询过滤器过滤记录),并且需要一种删除(也可以软删除)导航属性(可以是参考属性或集合),我将属性赋予它们。
这是我为属性写的属性:
[AttributeUsage(AttributeTargets.Property,Inherited = true)]
public class DatabaseAttribute : Attribute
{
bool softDelete;
public virtual bool SoftDelete
{
get { return softDelete; }
set { softDelete = value; }
}
}
使用过:
public Guid? CargoTransactionId { get; set; }
[Database(SoftDelete = true)]
public CargoTransaction CargoTransaction { get; set; }
下面的代码可以找到我标记为软删除的导航属性:
var entries = Context.ChangeTracker.Entries();
foreach (var entry in entries)
{
var entryNavigations = entry.Navigations;
foreach (var navigation in entryNavigations)
{
var dbAttribute = navigation.Metadata.PropertyInfo.CustomAttributes
.Where(p => p.AttributeType == typeof(DatabaseAttribute))
.FirstOrDefault();
}
}
bu我无法找到在方法DbContext.Set<TEntity>()
之类的上下文中使用的DbSet实体类型。
您能帮上忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。