C# EntityFramework框架修改主键

我数据库只有一个字段不是主键,但是导入EF实体模型类变成了主键不允许修改怎么办,我要修改他。

0

2个回答

想用EF实体模型表必须得有主键,解决办法如下:先将EF数据模型删掉;再到数据库找到该表给他定义一个自动增长的主键;最后重新添加实体模型。

0

要是像你这么说来做的话我还用来提问吗?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于Entity Framework中自增主键的问题
当实体类中有int类型的字段,并且该字段对应数据库中的主键,那么Entity Framework会自动将该字段设为自动增长。若此时数据库中对应的主键并非是自动增长的,则在插入数据时会出现异常。举个例子,若有如下实体类Test和数据库表Test。public class Test { public int Id { get; set; } public string Name { ge
Entity Framework 复合主键配置(多字段主键)
using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; public class Entity {     [Key,Column(Order = 0)]     public int Key1 { get; set; }
Entity Framework中的实体类添加复合主键
使用Code First模式实现给实体类添加复合主键,代码如下: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel.DataAnnotations; 4 using System.ComponentModel.DataAnnotations.Schema; 5 using ...
Entity Framework添加记录时获取自增ID值
与Entity Framework相伴的日子痛并快乐着。今天和大家分享一下一个快乐,两个痛苦。 先说快乐的吧。Entity Framework在将数据插入数据库时,如果主键字段是自增标识列,会将该自增值返回给实体对象对应的属性。 比如下面添加博客随笔至数据库的示例代码: var blogPost = new BlogPost(){ Author = "博客园",
EntityFramework中常用的数据修改方式
上一篇文章里提到了  EntityFramework中常用的数据删除方式,那么修改对象值也有多种方式 第一种 同样是官方推荐的方式,先查询出来,再对要修改的字段赋值,这也应该是用的比较多的。 第二种 还是手动创建对象,然后附加,需要改哪个字段值,就写出来,最后 保存就行。跟第一种就差了从数据库查询。
EntityFramework中常用的数据删除方式
最近在学EF,目前了解到删除操作有三种方式, 第一,官方推荐的先查询数据,再根据查询的对象,删除对象。 这是第一种,官方推荐 第二,自己创建一个对象,然后附加,然后删除。 这是第二种 第三,自己创建对象,然后放入EF容器,然后删除。 这是第三种 跟踪结果 首先第一种 会先查询,然后再删除,
关于Entity FrameWork获取插入后的自增ID
方法比较简单,没什么高深的应用,都是框架里面的东西,这里记录一下: 实体:UserEntity, 自增主键:F_Id public class UserEntity : IEntity<UserEntity>    {         public int F_Id { get; set; }         public string F_Account { get; se...
ASP EF框架,实体框架(EntityFramework),ModelFirst,导航属性(一对多的表关系,外键)
ModelFirst:EF框架自动根据实体模型设计器(*.edmx)生成数据库、数据层和model。 项目--添加--新建项--数据--ADO.NET实体数据模型--空模型--右击--新增--实体--实体名称(Use)、一定要选择创建主键ID--点击模型主键ID(Identity(自增)、为Null(false)、实体键(True),三个属性表示主键)--模型头部右击--新增--标量属性--Us
Entity Framework(EF)无法对没有主键的视图映射实体
Entity Framework(EF)无法对没有主键的视图映射实体 在使用 Entity Framework 的时候经常会把数据库中的某一个视图映射为EF的实体,但是如果数据库视图中的列没有包含表的主键列,EF会报出警告说视图没有主键,导致视图映射为实体失败,错误如下: 表/视图“{0}”未定义主键,无法推断有效的主键。已排除该表/视图。要使用该实体,您将需要检查架构,添加正确的键并
EF泛型封装CRUD
最近刚研究EF,自己做了几个增删改查例子之后,发现有好多代码是重复的,一般的重复代码我都会尝试去封装。 在这期间主要遇到的问题是查询或删除时需要主键,而泛型T 中根本无法事先知晓主键是那个,后来研究才知道这个地方可以先表达式, 即:Expression> express 直接上代码 ------------------------  添加数据:
一个完整的C#的WinForm程序使用EntityFramework操作MySql实现增、删、改、查
本人使用VS2012做的WinForm小程序,使用EntityFramework操作MySql数据库实现增删改查,比sql语句好用。另外程序带有最新版本的EntityFramework.dll。别人分享的旧版本的EntityFramework.dll就要6分。哥们这里还赠送一个WinForm的完整例子。本人分享资源的宗旨:大家分给我了,我就要给大家能用的东西。 本人代号:Hunter
.Net使用对象关系映射框架Entity Framework操作数据库及其内容
以往,如果在程序中需要对数据库及其内容进行操作,我们都需要手动去写CURD的代码,很累,一大堆重复代码写的心情不爽。直到某一天发现了Object-Relational Mapping(对象关系映射,简称ORM)框架Entity Framework,感谢微软又做了一件给码农减压的事情。         说了这么多,一些人可能对Entity Framework到底能够干什么还不是很清楚, 简单的说就
entity framework—简单的增删改查
entity framework中进行修改、删除、增加数据,都需要将要操作的数据先添加到“上下文”中,并修改上下文的状态,最后调用SaveChange这个方法。而查询可以利用Linq语句查询或者利用lambda表达式去查询。
【C#】Entity Framework 增删改查和事务操作
1、增加对象   DbEntity db = new DbEntity(); //创建对象实体,注意,这里需要对所有属性进行赋值(除了自动增长主键外),如果不赋值,则会数据库中会被设置为NULL(注意是否可空) var user = new User {
C#:实体框架EF(entity framework)
本文来自:http://www.cnblogs.com/xuf22/articles/5513283.html一、什么是Entity Framework    微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。    EF有...
在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
今天琢磨了一天弄这个问题,真是很郁闷。 我需要在EF中使用定义对象模型的方式调用一个存储过程,这个存储过程返回的是一组包含两列的值。(ProjectName,Count) 下面是存储过程: CREATE procedure [dbo].[Pro_Project_By_UserID]     @userID nvarchar(36) AS  SELECT Project AS Proje
修改Entity Framework从指定的Config文件读取连接字符窜
具体操作方法如下: 1.将项目生成app.config复制到\bin\Debug\Config\并改名为EntitiesApp.config 2.创建静态方法从exe所在目录下的\Config\EntitiesApp.config读取连接字符窜 using System; using System.Xml; using System.Windows.Forms; namespace Bui
VS连接Mysql生成EntityFramework实体映射太多坑
VS连接sql server因为都是微软的,所以VS自带功能,使用很方便,但是连Mysql就不同了,mysql开发的驱动有很多的坑。本人亲自尝试,终于找到对策 步骤 1.要安装mysql-connector-net,这个是Windows连接Mysql的驱动。 2.要安装mysql-for-visualstudio,这个是VS生成实体对象的插件。 3.在VS项目中添加MySql.Data,M...
EntityFramework数据库操作
  对于数据库的操作,必须有SQL SERVER软件,首先我们新建一个WPF工程。第一步:新建一个数据库第二步:新建一个表,并且设置ID为主键第三步:在WPF程序中新建添加实体数据模型第三步:对数据库进行操作界面代码<Window x:Class="EF数据库.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006...
entity framework—利用导航属性添加数据
entity framework中可以利用导航属性去添加数据。 当两张表有主外键关系的时候,并且在两张表中添加的数据都是不存在的数据,便可以利用导航属性去插入数据。例如下面的两张表:
实体框架- Entity Framework 基础篇
以前写数据层D层的时候里面有好多的SQL语句,如何省略到繁琐的SQL语句,微软提供了一种很好的方式-实体框架-Entity Framwork。一种对象映射机制,支持.NET开发人员使用域特定对象来出来关系数据,消除了对开发人员通常需要编写的大部分数据访问代码的需求。
C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)
一、什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据。它消除了需要开发人员通常需要编写的大部分数据访问代码。简化了原有的ado.net 数据访问方式。 ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 1.2 在C#中常用的ORM框架有: 1.NHibernat
EF—主键冲突解决办法
报错信息:   编辑代码: 解决办法: 在Controller中不要把实体直接传过去,而要根据id先查出来,然后把查出来的实体传递过去就OK了
问题:entity framework查询视图,结果错误
解决路径: 反复单步执行 review代码,结论linq查询逻辑正确 通过sql跟踪,得到最终执行sql语句,执行发现结果正确,得出结论:查询方法正确,逻辑无误 review代码, 查询使用exlinq 搜索exlinq结果错误:答案是mapping主键问题 问题转到EntityTypeConfiguration类haskey方法 去掉haskey,编译错误,换作其他字段,结果错误 搜索Ent...
EF框架学习笔记(一)——ADO.NET Entity Framework 从入门到精通系列学习目录
$tommix_日积月累 不积跬步 无以至千里 平凡生活的点点滴滴 ADO.NET Entity Framework 从入门到精通系列学习教程 ADO.NET Entity Framework 从入门到精通系列学习目录 初级篇 ADO.NET Entity Framework 学习初级篇1--EF基本概况 ADO.NET Entity Framework 学习初级篇2--几个重要类的介...
Entity Framework优缺点及使用方法总结
Entity Framework是MS提供的一个ORM框架,它旨在为小型应用程序中数据层的快速开发提供便利。nuget上185W多的下载量,说明.Net开发人员还是比较喜欢用EF的。但是EF在提供了便利性的同时也有许多缺点,以下就是我认为不应该应用EF的场景: 非SQL Server数据库且无该数据库的DataProvider 高性能要求。在进行一些复杂查询的情况下,EF的性能表现不太好,而开发人员
EntityFramework6写的数据访问框架之五事务
分布式事务 using (TransactionScope scope = new TransactionScope()) { try { UserDAL dal = new UserDAL(); User item =
EntityFramework6写的数据访问框架之二BaseDAL
using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Linq.Expressions; using System.Text; using LinqKit; using System.Configurat
EntityFramework连接串的调用时传入
EntityFramework自动将数据库映射到Model,同时会生成相应的连接字符串,如下图。 生成之后,我们看到自动生成的DBDemoEntities的类,只有一个默认的无参的构造函数,如下图 这在一般情况下是OK的,因为只我们在App.config或者Web.config配置了这个连接串即可。如下图。 但是当我们希望自己传入连接字符串时,就无能为力了。那我们怎么
EF框架学习笔记(二)——更新实体的部分字段
方法: public virtual int Update(T entity, params Expression<Func<T, object>>[] updatedProperties) { var dbEntityEntry = dataContext.Entry(entity); if (updatedProperties.Any...
entity framework code first增删改查(包含批量操作)
entity framework code first封装好的操作helper类(sqlserver版本),支持增删改查操作,支持批量增删改,支持执行sql语句,可执行的完整demo可以下载我的另外一个资源进行参考。
EntityFramework ef框架外键导致错误!
1.在外键的位置加上 [ForeignKey(“B”)] [ForeignKey("B")] public int Aid { get { return _Aid; } set { _Aid = value; } } [ForeignKey(“A”)],A,这个是主键表的表名2.在外键类库的最下面加上 public virtua
EF-EntityFrameWork中文名:实体框架(数据持久化框架)
一、 Linq to EF  EF默认使用延迟加载     //数据上下文对象   Entities db = new Entities(); 1.IQueryable支持延迟加载,linq编译成SQO,运行时会生成一颗 表达式树 ,也就是说,IQueryable中没有保存查询的数据,而是保存了要查询的数据条件的表达式树 eg: IQueryableArticle> list = from
EntityFramework(EF) 单表与主从表的使用
一、单表Reader 1 构建Reader类 public   class Reader     {        public int ReaderID { get; set; }        public string Name { get; set; }        public int Age { get; set; }        public strin
EntityFramework中常用的数据删除方式速度对比
https://blog.csdn.net/itmaxin/article/details/47659817最近在学EF,目前了解到删除操作有三种方式,第一,官方推荐的先查询数据,再根据查询的对象,删除对象。这是第一种,官方推荐第二,自己创建一个对象,然后附加,然后删除。这是第二种第三,自己创建对象,然后放入EF容器,然后删除。这是第三种跟踪结果首先第一种会先查询,然后再删除,对数据库进行两次查询...
MVC学习笔记四:利用Entity Framework调用存储过程
MVC利用EF调用存储过程 这一章记录一下,如何通过EF调用数据库中的存储过程。 依然按照前面的两种数据库操作方式,一种是DbContext,第二种是ObjectContext. 一.DbContext 待续。
EntityFrameWork数据迁移——暨改变数据库结构的方法
EntityFramework在对数据迁移时的支持并不好,现在到了6.3版本以后,Model-First的方法也被抛弃,而Code-First的方法更多的是针对首次建立数据模型的情况。一旦想要修改现有的数据库表结构,对数据库进行迁移(升级)就会遇到各种问题。在使用EF进行数据迁移时,如果我们修改的不是主键的话,那还是比较简单,增,删减字段,都是可以的,但仍旧需要打开EF的自动合并。具体方法如下:
使用Entity Framework访问MySQL数据库
简介 Entity Framework (EF,ADO.NET Entity Framework)是微软官方提供的.NET平台的ORM框架。相比于LINQ TO SQL,EF框架具有很明显的优势: EF框架支持多种数据库,而不仅仅局限于微软的SQL Server,MySQL,Oracle都有良好的支持。支持存储过程。强大的可视化模型设计工具,与Visual Studio深度整合。与.N
Entity Framework 6源码学习(一)
EntityFramework是最流行的.NET ORM框架之一,学习其源代码可以理解其思维方式,更好更有效的使用EF,也可以锻炼自己的编程技能。
C#(VS2017)EntityFramework增删改查、调用存储过程+FastReport打印范例(数据库SQL2008R2)
C#(VS2017)EntityFramework增删改查、调用存储过程+FastReport打印范例(数据库SQL2008R2) 对数据的增删改查、调用存储过程、FastReport打印、修改FastReport打印模版(frx文件)
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据培训框架 ios深度学习框架