2012-02-11 33 views
0

我喜歡EntityFramework。通常我會創建一個服務類(佈局)來放置與數據庫交互的邏輯。它看起來像這樣:將實體的sql鏈接方法從數據上下文移動到Entitiy類的最佳方式是什麼?

public class UserService 
{ 
    MyDbContext _context; 

    public UserService(MyDBContext context) 
    { 
     _context = context; 
    } 

    public void MoveUserToGroup(User user, Group group)) { ... } 
} 

而且我用我的代碼,這樣的話:

userService.MoveUserToGroup(User user, Group group); 

這是很好的,但我想我的課,看起來像這樣:

public class User 
{ 
    // ... 
    public void AddTo(Group group) { ... } 
} 

public class Group 
{ 
    // ... 
    public void Add(User user) { ... } 
} 

我想這樣使用:

user.AddToGroup(group); 

什麼是最好的方式來做到這一點? DI?擴展?如何在我的類中保持數據庫上下文?

+0

這是一個問題,應該由您選擇的OR/M而不是DI解決。 – 2012-02-11 14:01:36

回答

0

您通常會映射實體的所有相關導航屬性。

public class User 
{ 
    public virtual ICollection<Group> Groups { get; set; } 

    public void AddTo(Group group) 
    { 
     Groups.Add(group); 
    } 
} 
相關問題