public class Parent {
public int Id { get; set; }
public string Name { get; set; }
public Child ChildField { get; set; }
}
public class Child {
public int Id { get; set; }
public int Age { get; set; }
public int ParentId { get; set; }
}
public class MyDbContext : DbContext {
public DbSet<Parent> Parents { get; set; }
public DbSet<Child> Childs { get; set; }
}
DB Rows:
parent_id | name
1 "Parent 1"
2 "Parent 2"
Child Rows
child_id | age | parent_id
3 15 1
4 21 2
我有一個看起來像這樣的方法:實體框架加載子與父母
public Parent Get(int parentId) {
var result = this.dbContext.Parents
.Join(
this.dbContext.Childs,
p => p.Id,
c => c.ParentId,
(p, c) => new { Parent = p, Child = c })
.AsNoTracking().Where(m => m.Parent.Id == parentId)
.FirstOrDefault()
result.Parent.Child = result.Child;
return result.Parent;
}
目前這個工作對我來說,但我想不會有孩子手動分配到父母加入後。
- 有沒有更好的方法來做到這一點?我想使用相同的語法風格。
- 如何在不必手動將孩子分配給父母的情況下完成此操作?
謝謝!
這是代碼優先? – 2014-11-07 03:45:07
這不是代碼第一。 – 2014-11-07 14:41:06