我有一个简单的类的问题。我的类的一个属性是对另一个类的引用,但是当我阅读时,它始终为空。
public class Product
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public String Description { get; set; }
public virtual Trademark Trademark { get; set; }
}
public class Trademark
{
public int TrademarkId { get; set; }
public String Description { get; set; }
}
这些是我的课,很简单。然后当我得到第一个元素时:
Product p = context.Products.First();
并且p
包含正确的产品,但商标为空。
即使我想使用 linq 进行查询,例如:
var prods = context.Products.Where(p => p.Trademark.TrademarkId == 1).ToList();
数据库生成好了。
使用 EF 4.3.1,带有 SqlServer 精简版 4.0
感谢您的任何建议。
添加:这是我的上下文类:
public class HPContext : DbContext
{
public HPContext()
: base()
{
this.Configuration.LazyLoadingEnabled = false; //Just for test
}
public DbSet<Product> Products { get; set; }
public DbSet<Trademark> Trademarks { get; set; }
}
添加:数据库架构:
Table:
Products
Fields:
Id int primaryKey
Description nvarchar(4000)
Trademark_TrademarkId int
Table:
Trademarks
Fields:
TrademarkId int PrimaryKey
Description nvarchar(4000)