在codeFirst中获取EntityKey

时间:2015-06-23 08:28:52

标签: c# ef-code-first

我们最近在项目中引入了CodeFirst,我们希望摆脱EDMX文件。因此,在调整CodeFirst的代码时,如何获取实体对象的EntityKey?例如:在我们:myEntity.EntityKey之前,但现在,CodeFirst中的实体不包含EntityKey的定义。如何实现这一点,所以我们尽可能少地修改代码?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

public String getButtonId(SapToolbarControl toolbar, int position)
{
    Object[] params = new Object[1];
    params[0] = position;
    Object buttonId = toolbar.invoke("GetButtonId", params);
    return (String) buttonId;
}

从MSDN:创建特定对象的实体密钥,如果已存在则返回实体密钥

在我的情况下,它将返回现有的((IObjectContextAdapter)db).ObjectContext.CreateEntityKey("key_name", myEntity)