У меня есть таблица [dbo].[Product]
, как
ProductID | Description | OtherProductVariantID
, где OtherProductVariantID
- это ProductID
из той же таблицы и соответствующего объекта Product
public class Product
{
public int ProductID {get; set;}
public string Description{get; set;}
public int? OtherProductVariantID {get; set;}
public virtual Product VariantProduct {get; set;}
public virtual ICollection<Product> VariantProducts { get; set; }
}
И он настраивается через Fluent-API следующим образом:
modelBuilder.Entity<Product>(entity =>
{
entity.HasOne(d => d.VariantProduct)
.WithMany(p => p.VariantProducts)
.HasForeignKey(d => d.OtherProductVariant)
.HasConstraintName("FK_Product_OtherProductVariant");
});
[На человеческом языке]
Я хотел загрузить сущность Product с
var product = Context.Product
.Include(p => p.VariantProduct)
.FirstOrDefault(p => p.ProductID == 12345);
, чтобы мой VariantProduct был доступен для дальнейшей обработки, но он всегда равен нулю.
Что я сделал не так или это как-то невозможно?
Спасибозаранее!