我试图在一次调用中急切地加载所有相关实体或实体集合.我的实体看起来像:
Class Person
{
public virtual long Id { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
}
Class Employee
{
public virtual long Id { get; set; }
public DateTime AppointmentDate { get; set; }
public virtual ICollection<EmployeeTitle> Titles { get; set; }
public virtual Person Person { get; set; }
}
Class EmployeeTitle
{
public virtual long Id { get; set; }
public virtual bool IsCurrent { …Run Code Online (Sandbox Code Playgroud) c# entity-relationship code-first eager-loading entity-framework-4.1
我已经在数据库中插入了一些父记录.现在我想添加一些子记录.为此,我按照以下步骤操作:
问题是,当我这样做时,EF插入一个New Parent,然后添加一个外键指向新新插入的父项,而不是只插入映射到已存在父项的子项.我还在保存子项时检查了父项的主键,它确实存在于数据库中.
请注意,我正在为父和子使用数据库生成的标识.我注意到的一件事是,如果我从同一个上下文对象添加/保存父和子,那么它工作正常.
需要尽快解决这个问题.任何帮助将不胜感激.
entity-framework parent-child ef-code-first entity-framework-4.1
我有一个可视化工作室解决方案,其中包含多个具有相同外观和感觉的telerik MVC4剃须刀项目.我不想在所有MVC4项目中复制相同的布局,CSS /样式,图像和js文件.实现这种可重用性的最佳方法是什么?我尝试创建一个commonUI项目的虚拟目录,并试图在_ViewStart.cshtml中使用http:// localhost / ...引用_layout.cshtml,但它抱怨说"http:/localhost/MyMvcApp/Views/Shared/_Layout.cshtml '不是有效的虚拟路径."
请帮忙!
我正在尝试使用Code First设置TPC继承.我有一个三级层次结构.抽象类A,具体类B继承自A,类C继承自B.类A属性:ID,CreatedBy和CreatedOn.B类属性:FirstName,LastName,BirthDate C类属性:约会日期,状态
我希望在数据库中使用数据库生成的标识创建类B和类C的表.
我的上下文类中有以下代码:
public DbSet<B> BList { get; set; }
public DbSet<C> CList { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<B>().ToTable("BClass");
modelBuilder.Entity<C>().ToTable("CClass");
}
Run Code Online (Sandbox Code Playgroud)
我有一个contextinitializer类,它覆盖Seed方法来填充数据库中的一些测试数据.
protected override void Seed(TestContext context)
{
TestDataClass testData = new TestDataClass();
List<B> bList= testData.GetBList();
foreach (B objB in bList)
{
context.BList.Add(objB);
}
List<C> cList = testData.GetCList();
foreach (C objC in cList)
{
context.CList.Add(objC);
}
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
这会在数据库中创建表BClass和CClass,但问题是如果Iam在BClass中插入10行并且在CClass中插入相应的10行,则实体框架在BClass中插入20行,其中10行具有实际值,10行具有Null.CClass给出了10行的预期结果.第二个问题是当我从CClass查询数据时,我没有得到结果.我的错误信息说:
EntitySet'CClass'未在EntityContainer'TestContext'中定义.近简单标识符,第1行,第12列.
我正在使用来自http://huyrua.wordpress.com/2011/04/13/entity-framework-4-poco-repository的 Huy Nguyen的实体框架4 POCO,存储库和规范模式[升级到EF 4.1]的帖子中的代码-and-specification-pattern-upgraded-to-ef-4-1 /和我在通用存储库中的代码看起来像
public IList<TEntity> FindAll<TEntity>() …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×1
c# ×1
code-first ×1
inheritance ×1
layout ×1
parent-child ×1
razor ×1
telerik-mvc ×1