我有一个数据库,其中包含三个结构如下的表:
Table 1: Product
Columns: ProductID, PK
SKU, PK
Name
Table 2: ProductImages
Columns: ImageID PK
SKU
Table 3: Images
Columns: ImageID PK
ImageContent
暂时忽略该表ProductImages
看起来处于多对多关系,除了唯一 PK 约束强制为一对一,因此是不必要的一对多对一表(它是一个现有的数据库)。
我想要以下POCO
实体类:
public class Product
{
public int ProductId { get; set; }
public string SKU { get; set; }
public virtual Image Image { get; set; }
}
假设Image
也是我的实体模型中的一个实体。
我Entity Framework 5.0
首先使用代码,Fluent API
并且我正在疯狂地试图弄清楚如何编写ProductMap
类(它派生自EntityTypeConfiguration<Product>
)。特别是关系映射。
呈现的 SQL 应类似于以下实体框架的版本:
select p.SKU, p.Name, p.ProductID, I.ImageID, I.ImageContent
from Products p
inner join ProductImages si on p.SKU = si.SKU
inner join Images i on i.ImageId = si.ImageId
任何人能提供的任何帮助都会得到衷心的感谢。