DbContext CodeFirst模式如何获得实体的主键名称列表

csdn小虫 2016-02-23 02:13:02
CodeFirst模式,根据数据库表生成实体定义
表是联合主键 比如 Code 和 ShopCode 组成

现在想写个方法,获取该实体的主键列表 。返回List<string>()

调用方法后 List中有两个元素,主键的名称Code 和 ShopCode




...全文
285 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Curious_Eric 2016-03-08
  • 打赏
  • 举报
回复
首先codefirst 是代码优先,通过代码生成的数据库,与你说的相反啊。 其次codefirst 没有生成 edmx的数据模型 所以想要通过反射获取 primarykey 是不可行了吧。(猜测) 最后 其实可以通过 ef 执行sql语句获取主键名和列名都是可以的 再存到list<string>里 ef 有时候也不是万能的。希望能帮到你
SELECT  A.NAME AS 表名 ,
        B.NAME AS 主键名
FROM    SYSOBJECTS A
        JOIN SYSOBJECTS B ON A.ID = B.PARENT_OBJ
                             AND A.XTYPE = 'U'
                             AND B.XTYPE = 'PK'

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧