我有以下内容:
我的产品和ProductConfiguration类看起来像:
public class Product
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<Product> CrossSells { get; set; }
}
public class ProductConfiguration : EntityConfiguration<Product>
{
public ProductConfiguration()
{
HasKey(p => p.Id);
Property(p => p.Name).IsRequired().IsUnicode().IsVariableLength().HasMaxLength(254);
// Relationship??
MapSingleType(p => new
{
p.Id,
p.Name
}).ToTable("Product");
}
}
我的数据库表格如
CREATE TABLE [dbo].[Product](
[Id] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](254) NOT NULL
CREATE TABLE [dbo].[ProductCrossSell](
[Id] [uniqueidentifier] NOT NULL,
[ProductId] [uniqueidentifier] NOT NULL
这只是Product表与其自身的多对多关系,其中产品可以链接到其他产品。
有人知道如何在EF代码中设置此关系吗?我看到在代码中设置了其他关系的示例,但没有示例说明如何设置它。
当成功执行GetProductById查询时,EF会加入这两个表并填充Product对象以及CrossSells IColletion。
感谢任何帮助。
由于