Tag: 主键

重置主键

我试图在网上找到答案,但显然无法完成(我的意思是在应用程序级别,而不是数据库)。 我需要完全清除我的数据集并同时重置主键。 有任何想法吗? 或者,我可以使用的一个hack是重新初始化数据集,但这似乎不可能,因为数据集在应用程序中的不同类之间共享(我在Program.cs中创建共享数据集)。 谢谢 法鲁克 更新: 好吧,我试过这个: MyDataSet sharedDS = new MyDataSet(); 。 。 。 CleanDS() { MyDataSet referenceDS = new MyDataSet(); sharedDS.Table1.Reset(); sharedDS.Merge(referenceDS); } 我的原始问题已解决,但现在我得到一个System1的System.ArgumentException不属于Table1,我可以在其中看到DataSet Viewer中的列以及查看填充的行。 另请注意,我可以手动重新创建整个DataSet,但仍然会出现相同的错误。 有任何想法吗?

如何在Entity Framework代码中手动设置实体主键第一个数据库?

好吧,我有以下模型结构:我有一个类 – 基本上是DatabaseEntity public class DatabaseEntity { public int Id { get; set; } } 所以像产品,类别等每个实体都将inheritanceDatabaseEntity并拥有Id属性。 我还有使用InsertOrUpdate方法的典型EntityFramework存储库类: private readonly DbContext _database; public void InsertOrUpdate(TObject entity) where TObject : DatabaseEntity { if(entity.Id == default(int)) { // New entity DbSet().Add(entity); } else { // Existing entity _database.Entry(entity).State = EntityState.Modified; } _database.SaveChanges(); } 然后我从eBay下载eBay api列表中的categoies我必须添加到数据库中。 基本上类别是: public class […]

数据库主键C#映射 – 字符串或int

在Northwind Starters Kit中,数据库中的主键映射到C#中的字符串。 这是好习惯吗? 如果是这样,为什么? thx,Lieven Cardoen ps:对不起可能是错误的问题…… 在Northwind Starters Kit中,某些表具有数据类型为int的自动增量主键,而其他表具有数据类型为nchar(5)的非自动增量主键。 为什么是这样? 好吧,显然一些主键只是代码(nchar(5)格式)。 很抱歉用了你的时间。 我认为数据类型int被映射到C#字符串,这对我来说似乎非常错误(但事实并非如此)。

附加类型的实体失败,因为相同类型的另一个实体已具有相同的主键值。

让我快速描述一下我的问题。 我有5个客户的5个数据库 , 每个 数据库 都有一个名为SubnetSettings的表 。 我已经创建了一个下拉列表来选择一个客户,并将显示属于所选客户的SubnetSetting表,并允许我创建,编辑和删除。 我可以创建,删除没有问题, 但当我想编辑数据时,它会带来错误: ‘/ TMS’应用程序中的服务器错误。 附加“CFS.Domain.Entities.SubnetSettings”类型的实体失败,因为同一类型的另一个实体已具有相同的主键值。 如果图中的任何实体具有冲突的键值,则在使用“附加”方法或将实体的状态设置为“未更改”或“已修改”时,可能会发生这种情况。 这可能是因为某些实体是新的并且尚未收到数据库生成的键值。 在这种情况下,使用“添加”方法或“已添加”实体状态来跟踪图形,然后根据需要将非新实体的状态设置为“未更改”或“已修改”。 这是我的控制器中的编辑 // GET: /SubnetSettings/Edit1/5 public ActionResult Edit1(short? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } SubnetSettings subnetsettings = detailView.SubnetSettings.SingleOrDefault(t => t.Id == id); if (subnetsettings == null) { return HttpNotFound(); } return View(subnetsettings); } // POST: […]

在entity framework中添加具有多对多关系的项目

当我尝试添加具有多对多关系的项时,我收到主键违规错误: 我有两个类 – 文章和标签有多对多的关系: public class Article { public int ID { get; set; } public string Text { get; set; } public ICollection Tags { get; set; } } public class Tag { [Key] public string UrlSlug { get; set; } public string Name { get; set; } public ICollection Articles{ get; set; } […]