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

问题描述

CodeFirst模式,根据数据库表生成实体定义表是联合主键比如Code和ShopCode组成现在想写个方法,获取该实体的主键列表。返回List<string>()调用方法后List中有两个元素,主键的名称Code和ShopCode

解决方案

解决方案二:
首先codefirst是代码优先,通过代码生成的数据库,与你说的相反啊。其次codefirst没有生成edmx的数据模型所以想要通过反射获取primarykey是不可行了吧。(猜测)最后其实可以通过ef执行sql语句获取主键名和列名都是可以的再存到list<string>里ef有时候也不是万能的。希望能帮到你SELECTA.NAMEAS表名,B.NAMEAS主键名FROMSYSOBJECTSAJOINSYSOBJECTSBONA.ID=B.PARENT_OBJANDA.XTYPE='U'ANDB.XTYPE='PK'

时间: 2024-07-29 14:51:44

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

NBear中如何建立一个单向组合关系的外键关联,而且对应实体的主键为String类型?

问题描述 NBear中设置单向的组合关系存在的疑问(使用NBear3.7.2的ORM框架,如需源码请联系hillfree#gmail.com)问题描述:涉及两个业务对象:User(用户)和UserType(用户类型):UserType作为系统的基础信息,可能会增加,重命名,甚至删除.User接口中包含UserType的对象作为一个成员.与Tutorial中的一对一关联不同.UserType不需要知道User的存在,即User和UserType是单向的组合关联.User和UserType的接口定义

数据库里修改主键名称

问题描述 数据库里修改主键名称 怎么修改表的主键名称? 创建主键时出错了 invalid ALTER TABLE option, 其他的可以创建,这是什么问题?大神 求解 解决方案 你用的什么数据库 解决方案二: 主键名称合法不,主键名称重复超过2次没 解决方案三: 先删除主键约束,在修改字段,之后再加上主键

如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

1.查找表的所有索引(包括索引名,类型,构成列):  select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表  2.查找表的主键(包括名称,构成列):  select cu.* from user_cons_columns cu, user_con

XSLT递归获取主分类名称列表实例

本文是工作中关于XSLT和XML一个小实例的分享 需求:XML抛出一些类主分类和子分类,在不同主分类中子分类有重复出现,每个主分类和子分类以一个记录集的形式输出.现要求筛选出主分类. 1. XML数据:  代码如下 复制代码 < ?xml version="1.0" encoding="UTF-8" ?> <rows>  <row>   <area>Carrier</area>   <complain

EF 自关联表主键自增情况下,不能添加记录的问题,有谁解决过?

问题描述 EF 自关联表主键自增情况下,不能添加记录的问题,有谁解决过? 如题,我的系统中因为一个特定原因,需要一张自关联表(thisTable)来简化逻辑, 该表主键是自增的,结果发现无法添加记录, 错误消息:无法确定"db.thisTable"关系的主体端.添加的多个实体可能主键相同. 请问,有人解决过这个问题吗? 解决方案 自己解决了,顺便分享给大家: 在EF的设定里,自关联的表主键外键,都不能为空(为空就会破坏数据的完整性), 这在两表关联时没问题,但在自关联就有一个悖论,那就

hibernate注解方式实现复合主键

有时一个实体的主键可能同时为多个,例如同样是之前使用的"CustomerEO"实体,需要通过name和email来查找指定实体,当且仅当name和email的值完全相同时,才认为是相同的实体对象.要配置这样的复合主键,步骤如以下所示. (1)编写一个复合主键的类CustomerPK,代码如下. CustomerPK.java import java.io.Serializable; public class CustomerPK implements Serializable { pu

继承-hibernate主键注解问题

问题描述 hibernate主键注解问题 我想所有实体类继承一个BaseVO类,BaseVO类中包含公共信息如id,,问题来了,,主键注解怎么加???我加在BaseVO中,报错:No identifier specified for entity,缺少主键. BaseVO类: [code=java] public class BaseVO { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) protected Integer id;

使用Kettle数据迁移添加主键和索引

Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,主要用于数据抽取.转换.装载.kettle兼容了市面上几十种数据库,故用kettle来做数据库的迁移视乎是个不错的选择. kettle的数据抽取主要在于抽取数据,而没有考虑数据库的函数.存储过程.视图.表结构以及索引.约束等等,而这些东西恰恰都是数据迁移需要考虑的事情.当然,如果在不考虑数据库中的函数.存储过程.视图的情况下,使用kettle进行数据的迁移还算是一个可行的方案. 这篇文章主要是讲述在使用kettle进行数据库的

Oracle增加修改删除字段/主键的方法

Oracle修改字段名称 alter table xgj  rename column  old_name to new_name; 修改字段类型 alter table tablename modify (column datatype [default value][null/not null],-.); 例子 假设表xgj,有一个字段为name,数据类型char(20). create table xgj( id number(9) , name char(20) ) 1.字段为空,则不管