entity-framework - 实体框架6中的Cascade-none
问题描述
我正在使用实体框架 6 开发一个项目,但我在映射问题上遇到了一些问题,我给你留了一个代码示例
public class Product
{
public Guid Id { get; set; }
public string Descripcion { get; set; }
public ICollection<ProductPrice> ProductPrices { get; set; }
public override string ToString()
{
return Descripcion;
}
}
public class ProductPrice
{
public Guid Id { get; set; }
public Guid ProductId { get; set; }
public virtual Product Product { get; set; }
}
public class MapPreciosProveedor : EntityTypeConfiguration<ProductPrice>
{
public MapPreciosProveedor()
{
this.ToTable("Inventory_prices", "dbo");
this.HasKey<Guid>(s => s.Id);
this.HasKey(e => e.Id);
this.Property(e => e.Id)
.HasColumnName("id")
.IsRequired()
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
this.Property(e => e.ProductId)
.HasColumnName("productId")
.IsRequired();
this.HasRequired<Product>(s => s.Product)
.WithMany(g => g.ProductPrices)
.HasForeignKey<Guid>(s => s.ProductId)
.WillCascadeOnDelete(true);
}
}
我的问题在 ProductPrice 类中,保存时我使用通用存储库,并且我利用了迁移类的 addOrUpdate 方法,并且我不需要级联 Product 类,我来自 nhibernate 世界,在那里由 map 与 cascade-none 解决
<many-to-one class = "Product" column = "productId" cascade = "none" />
但我在实体框架中找不到类似的东西,我认为我的要求是常见的,我想 EF6 必须有一些参数化来解决这个问题,或者我不理解
解决方案
推荐阅读
- python - 用 ndarray2 中的列填充 ndarray1,同时跳过 ndarray1 中的某些列索引
- mysql - SQL @x := @x +1 和 @x := 0 是什么意思?
- metal - 在 Metal 中渲染不同的纹理颜色格式
- reactjs - Reactjs&Jest,也改变 localStorage 的测试操作
- javascript - “获取”未定义
- sql - 如果列是 avg,Sql,我如何按 desc 或 asc 对行进行排序
- hyperledger-fabric - Hyperleger Fabric 和 Hyperledger 作曲家
- ubuntu - 在 Windows 10 终端上通过 Ubuntu 上的 Bash 查找文件
- sql - 如何在 SQL Server 中将两行合并为一行
- c# - 使用什么选项代替 while 循环