首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用带有“代码优先”模式的实体框架4.0时,如何防止标识列上的自动增量

在使用带有“代码优先”模式的实体框架4.0时,如何防止标识列上的自动增量
EN

Stack Overflow用户
提问于 2012-07-23 12:10:04
回答 1查看 1.9K关注 0票数 2

我正在定义POCO,与实体Framework4.0的Code功能一起使用。

但是,由于我的数据来自外部源,而且我希望使identity列与外部源的相同,所以我希望自己设置ID。

在调用DbContext.Add() & context.SaveChanges()之前,我将在代码中设置ID,但是在DB列上定义的自动增量(AI)会忽略并设置ID值。

DB是mySQL,由EF自动生成。

是否有人知道如何防止在ID列上创建AI属性,或者如何显式地设置实体ID,尽管该列是这样定义的?

编辑:我从@flem得到的答案对我有用。但是,我也需要一个稍微不同的场景来工作:是否有可能以这样的方式定义POCO,即当我设置值时它将使用它,而当我不使用它时,它会自动递增吗?根据这个mySQL论坛的答案的说法,mySQL应该能很好地处理这个场景,但是实体框架似乎没有.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-23 12:11:46

将数据库生成设置为无。

代码语言:javascript
复制
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11612259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档