考虑一个Customer
实体,其中Resource
个对象代表客户的徽标:
public class Customer
{
public Guid Id { get; set; }
public string CompanyName { get; set; }
public Resource Logo { get; set; }
}
public class Resource
{
public string Uri { get; set; }
public string Name { get; set; }
}
这是我到目前为止所尝试的但是因为Logo是一个复杂的对象而得到错误:
var customer = modelBuilder.Entity<Customer>().ToTable("Customers");
customer.HasKey(c => c.Id);
customer.Property(c => c.CompanyName).HasColumnName("Company");
customer.Property(c => c.Logo);
如何将该资源与EF Core 2.0一起存储为值对象 在客户表中?
答案 0 :(得分:10)
如果您想共享同一个表,您只需定义一个拥有实体:
modelBuilder.Entity<Customer>().OwnsOne(c => c.Logo);
按惯例,它只使用一个表。
答案 1 :(得分:0)
阅读更多关于它here有一个例子 使用“{1}}搜索”拥有的实体和表格拆分“