2015-05-28 61 views
0

我有以下组合键:与外键实体框架的复合键

表RolesInProject

ProjectRole PK和FK要ProjectRole

帐户PK和FK到账户

专案编号PK和FK到项目

我想检查某个帐户是否在某个项目中具有某个角色,而不用编写任何SQL实体框架。我怎样才能做到这一点? 我也希望能够使用实体框架更改/删除帐户的角色。

回答

1

您可以检查,如:

if(dbContext.RolesInProject.Any(c=>c.ProjectRole == certainRole && 
            c.Account == certainAccount && 
            c.ProjectID == certainProject)) 
{ 
    DoSomething(); 
} 
else 
{ 
    DoSomethingElse(); 
} 

删除:

var item = dbContext.RolesInProject.FirstOrDefault(c=>c.ProjectRole == certainRole && 
                 c.Account == certainAccount && 
                 c.ProjectID == certainProject); 

if(item != null) 
{ 
    dbContext.RolesInProject.DeleteObject(item); 
    dbContext.SaveChanges(); 
} 

要改变:

var item = dbContext.RolesInProject.FirstOrDefault(c=>c.ProjectRole == certainRole && 
                 c.Account == certainAccount && 
                 c.ProjectID == certainProject); 

if(item != null) 
{ 
    item.SomeColumn = someValue; 
    dbContext.RolesInProject.ApplyChanges(item); 
    dbContext.SaveChanges(); 
} 
+0

我已经编辑我的问题 – k0enf0rNL