Tag: entity framework

在sql server compact edition上执行Insert OR Update(upsert)

我有c#项目正在使用sqlserver压缩版和entity framework进行数据访问。 我需要向db插入或更新大量5000+或更多的行,因此如果密钥存在则更新记录(如果不插入)。 我无法找到一种方法来实现这一点与紧凑版和EF具有可怕的性能,即在核心i7计算机上花费2分钟。 我已经尝试搜索记录,看它是否存在,然后插入,如果没有,或更新,如果它,搜索是杀手。 我已经尝试编译搜索查询,但只做了一点改进。 我尝试的另一件事是在try catch中插入记录并且如果更新失败,但这迫使我在每条记录上保存更改以获得exception,而不是在最后是性能杀手。 显然我不能使用存储过程,因为它是紧凑版。 另外我看过只是直接在db上执行t-sql,但是在compact中缺少进程语句似乎排除了这一点。 我在全世界范围内搜寻和思考。 我真的想使用压缩,如果我可以过度表达部署的好处和能力,以防止用户挖掘数据库。 任何建议将不胜感激。 谢谢

在Visual Studio中创建entity framework6模型关闭向导并断开MYSQL连接数据库

我试图使用Entity Framework 6将ADO.Net实体数据模型添加到Net.Framework类库中,但是当我进入步骤3时,当您选择Framework版本时,它立即关闭向导并连接到我的MYSQL数据库是它关闭后自动断开连接显示的内容。 我的App.Config文件 我已经使用NuGet安装了类库中的Entity Framework 6.20,Mysql.Data 8.0.12,MySql.Data.Entity 6.10.8,Google.Protobuf 3.6.1并添加为引用。 我重新安装,更新,使用MYSQL安装程序,没有运气。 我有一个Net.Core Web API应用程序作为第一个项目,但我知道Net.core不支持Framework 6,只支持Entity核心,所以你必须添加net.framework类库并在libary。 只是要注意我不是 (见图片)具有与“无法找到entity framework数据库提供程序”相同的错误我没有出现该错误,框架版本会自动选中,但它会关闭。 谢谢。 编辑 对于那些遇到这个问题的人,我有一个解决方法,我不得不从安装程序中卸载Net Connector并单独下载Net Connector 6.10.8,事情应该有效。

使用现有对象插入新对象

我是EF 4的新手,这是我到目前为止所做的: 根据我的数据库创建edmx文件 为我的对象(PO​​CO)创建代码生成。 现在我有了一个model1.tt,扩展后我会看到我的课程 基于IRepository为每个类创建一个存储库 现在,我正在处理两个对象,A和B.对象A具有类型B的属性。在我的winform中,我有一个组合填充了类型B的对象。当按下保存按钮时,A类的新实例是创建并设置所有属性。 对象B属性设置如下: objectA.myObjectB = (objectB)cmbBObjects.selectedItem; 然后我为objectA创建一个存储库并调用save方法。 在这个保存方法中,我有这个代码± public bool Save(ObjectA obj) { using(MyContext context = new MyContext()) { context.objectAs.AddObject(obj); context.SaveChanges(); } } 这段代码确实为数据库保存了一个新条目,但它也为对象B创建了一个新记录! 我不想要这个,因为对象B已经存在于数据库中! (我从combobox中选择了这个)。 这就是我填充combobox的方式: 在objectB存储库中: public IList GetAll() { using(MyContext context = new MyContext()) { IList objects = context.objectBs.ToList(); return objects; } } 在我的forms: ObjectBRepository rep = […]

EF Code-Firstinheritance了一个基类来实现简单的历史记录

我正在遇到如下所述的实施我的计划的一些错误。 我对解决特定错误并不感兴趣,因为我知道这是不是一个好主意。 所有具有历史记录的对象都来自具有单个属性public Guid ID { get; set; } public Guid ID { get; set; } public Guid ID { get; set; } 。 后代可能是: public class Taco : AuditableObject { public string Seasoning { get; set; } } 现在,我想实现save事件处理程序来写入下表(类) public class AuditItem { public Guid ID { get; set; } public virtual AuditableObject Object […]

获取“实体类型不是当前上下文模型的一部分。”

我在使用web api在asp.net中一次更新我的数据库1列时遇到此问题。 我试图查询PUT只是更新行中的一个值而不是更新那个值并将其余值设置为null。 我在控制器之外做了一个单独的模型来接受更新,所以我可以一次做一个。 当我点击这一行db.Entry(user).State = EntityState.Modified; 在控制器中,它出错了。 有什么建议我可以解决这个问题吗? 这是我在put方法中使用的单独的ViewModel: namespace WebAPI.Models.ViewModels { public class UserViewModel { public string FirstName { get; set; } public string LastName { get; set; } } } 这是我的控制器在我的参数中使用ViewModel调用方法: public HttpResponseMessage PutUser(int id, UserViewModel user) { HttpResponseMessage response; if (db.User.IsInRole(“Admin”)) { try { db.Entry(user).State = EntityState.Modified; db.SaveChanges(); } catch (DbUpdateConcurrencyException) […]

如何检查unit testing在ORM模型中计算的属性标记?

我是由Entity Framework 5.0(C#4.5)创建的ORM – 数据库优先。 实体的一些属性我被标记为计算(绑定到具有默认值的列)。 如何检查unit testing在ORM模型中计算的属性标记? 注意:在ORM中紧急重新创建实体后,需要测试控制计算属性。 * .edmx中的实体描述:

entity framework部分加载

我的表格中有以下列 Id(int) 名称(nvarchar)通常<100个字符 数据(nvarchar)平均为1MB 我正在编写一个程序,它将遍历每一行并对Name字段执行一些操作。 由于我只使用Name字段并且Data字段非常大,是否可以指示EF仅加载Id和Name字段?

在entity framework中加密ConnectionString(第一个代码)

我如何保护我的连接字符串? 我想在C#中使用Entity framework 4.1(第一个代码),但对我来说很重要的是其他人看不到我的连接字符串。

如何设置自动递增属性的初始值(DatabaseGeneratedOption.Identity)

我有一个名为Offer的课程如下: public class Offer { public Guid Id { get; set; } [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int OfferNo { get; set; } public OfferType OfferType { get; set; } public DateTimeOffset DateAdded { get; private set; } public DateTimeOffset DateEdited { get; set; } public bool IsActive { get; set; } } 我明显使用Id属性作为我的PK。 但我还需要显示优惠的ID(因为用户将使用此值搜索优惠)并且Guid属性太长。 因此,我尝试使用DatabaseGeneratedOption.Identity自动递增整数列OfferNo ,但我无法设置初始值以递增。 我插入了一个虚拟条目,然后尝试将OfferNo设置为除1之外的其他内容,但收到以下exception: […]

如何首先使用代码在已创建的数据库中创建ASP.net身份表?

我的应用程序已经开发了大约一个月。 我现在决定使用ASP.NET Identity。 我已经有了身份的视图模型,但需要创建表。 我在想,如果我有视图模型,我不确定为什么我没有表格? 我使用自己的自定义上下文在初始化程序中删除了create,我只需要知道如何让EF为用户和角色构建包含的Identity表? 我环顾四周,发布的答案似乎都不是我需要的?