Tag: entity framework

entity framework异步记录计数与记录

我正在尝试从数据库中获取记录,但在同一次调用DB中获取记录计数。 我的方法是异步的,所以我不确定这是否是正确的方法: public async Task<IEnumerable> GetAsync(int pageIndex, int pageSize) { var products = this.Repository.GetAll().OrderBy(p => p.Price).AsQueryable(); var count = await products.CountAsync(); if (count == 0) return new List(); products = products.ToPaginatedList(pageIndex, pageSize); var result = await products.ToListAsync(); var viewModels = new List(); Mapper.Map(result, viewModels); return viewModels.AsEnumerable(); } 我认为等待CountAsync()不太好,但我不确定如何实现它。 问候。 编辑: 我为没有在任何地方返回计数而道歉,因为它现在看起来我只计算因为== 0检查,但我最终将返回计数记录,因为我需要它为我的角度分页指令。 还没弄明白我将如何返回(新类vs元组)所以我错过了它并专注于单个数据库调用中的entity frameworkCount()和实体提取。

错误:“此提供程序无法使用空间类型和function”

我收到了错误: 空间类型和函数不适用于此提供程序,因为无法找到程序集“Microsoft.SqlServer.Types”版本10或更高版本。 我只在我的一台开发机器上出现此错误 – 另一方面,它正常工作。 两台机器都安装了SQL Server 2014,这应该足够了,但显然不是。 除此之外,我在解决方案中安装了nuget包“Microsoft.SqlServer.Types”(我已经在几个从属项目中尝试过了),并添加了相应的行来加载有问题的DLL: Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); 调试显示有问题的行执行,并踩到它,似乎有问题的DLL加载成功。 用于运行项目(unit testing组件)的同一台机器没有错误。 错误开始出现的时间与我将测试项目从MSTest切换到xUnit的时间差不多,所以它可能与此有关。 有什么建议可以排除故障吗

entity framework不保存所有更改

我非常接近这个眼泪。 我有一个用户对象,这个对象有几个属性FirstName,LastName等所有简单类型。 字符串int等 这些加载和更新很好。 public class Jobwalker { [Key] public Int64 ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } public bool Suspended { get; set; } public TelephoneCountryCode TelephoneCountryCodeObject { get; set; } … 但是userobject也有一个属性’TelephoneCountryCodeObject’,这是另一个类 public class […]

{“当IDENTITY_INSERT设置为OFF时,无法在表’Cantact’中为标识列插入显式值。”}

我正在尝试在我的程序中保存一个联系人,这是一个简单的C#电话簿,我正在使用linq和entity framework,当我想添加或更改任何数据时,我得到一个运行时错误 当IDENTITY_INSERT设置为OFF时,无法在表’Contact’中为identity列插入显式值。 这是我的insert (添加)代码,另一方面,我不想在我的主键中添加任何数据ID,我想将它留给我的SQL Server。 谢谢大家的帮助 public void Save() { using (var Contex = new Phone_BookEntities1()) { var p = from c in Contex.Cantacts where c.Cantact1 == Name select new { c.Cantact1, c.Number }; if (!p.Any()) { Ref_Cantact = new Cantact(); Ref_Cantact.Cantact1 = Name; Ref_Cantact.Number = Num; Contex.Cantacts.Add(Ref_Cantact); Contex.SaveChanges(); } } } 编辑 public […]

无法创建对象上下文

在ASP.NET MVC中使用Entity框架时,我得到Unable to create object context错误。 背景 每次我向控制器发帖时我都没有得到回复。 我试着直接转到controller /Data/GetAll ,并收到此错误: 错误 指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或者无效。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息: System.ArgumentException:在配置中找不到指定的命名连接,不打算与EntityClient提供程序一起使用,或者无效。 抛出exception的代码片段: public class TrackItContextCreator { public ObjectContext Create() { ObjectContext context = new ObjectContext(“name=TrackItDBEntities”); context.DefaultContainerName = “TrackItDBEntities”; return context; } } Web.config文件 我能错过什么?

entity framework6自引用实体上的代码优先级联删除

我有一个实体: public class Section : SortableEntity { private ICollection _sections; public ICollection Sections { get { return _sections ?? (_sections = new HashSet()); } set { _sections = value; } } public string Title { get; set; } public string Description { get; set; } public Section ParentSection { get; set; } public int? ParentSectionId […]

目标框架更改4.0到3.5打破EF模型。 错误111:参照约束错误

我在一个面向.NET framework 4.0的库项目中创建了一个EF模型。 我只是将它降级为目标框架3.5,因为其中一个将使用此库的项目目标是3.5,目前无法升级。 将目标框架从4更改为3.5后,我得到多个111错误,类似于: 错误111:从属角色WfInstance引用的属性必须是关系xx.Entity.FK_WfInstance_WfStatusType的引用约束中的从属角色引用的EntityType xx.Entity.WfInstance的键的子集。 我得到的消息是我的表(WfInstance)主键必须使用/包含引用表(WfStatusType)的Id和它引用的任何其他表。 但是,我不知道该怎么做。 任何帮助,将不胜感激。 TIA – GP

entity frameworkDbEntityEntry.Property方法是否使用reflection?

这个问题是关于这段代码的: entityEntry.Property(“WhateverProperty”).CurrentValue = 1; 我昨天回答了这个问题 ,如果你在问题的评论中注意到了(不是答案),其中一名成员@gertarnold说: entityEntry.Property(“InsertedBy”)不使用reflection,它读取EF元数据。 当然,它使用EF元数据来确定实体是否具有该属性,但我非常确定在某个地方,他们必须使用reflection来设置属性 。 我试着在这里 , 这里和这里查看源代码(第484行)然后加油。 所以问题是 : 它是否使用reflection? 如果没有,那么财产如何设定呢?

自定义DbContext生成器

对于数据库第一次设计,创建EDMX生成DbContext和poco模型T4 (.tt)模板文件。 我成功地能够自定义Model.tt文件,使其生成具有Pascal套接字类名称和属性名称的POCO类,以及Pascal案例中的poco类文件名,这与其余代码的编码标准相吻合。 我试图解决的问题是,当我创建一个EDMX时,我必须编辑Model.tt文件,而不是我试图查看是否有任何方法来自定义tt文件生成器并添加代码修改,以便在创建EDMX时自动实现pascalcasing规则。 我不确定这是否可行。 请建议。

Xamarin Forms和EntityFramework属性兼容性

我有一个使用C# , WPF , ASP.NET WebAPI和Entity Framework的客户端/服务器解决方案 。 客户和服务器分支在他的项目中共享模型 。 现在我正在尝试创建一个新客户端,使用Xamarin Forms并共享模型,但entity framework属性 ( MaxLength , Index , NotMapped等) 在PCL中不兼容 。 所以这就是我尝试过的东西: 将Microsoft.EntityFrameworkCore导入PCL模型 如此处所述,您应该能够将entity framework与Xamarin表单一起使用,因此我将PCL转换为NetStandard 1.3,并且它可以工作,允许每个EntityFramework属性。 但是现在服务器项目与该标准不兼容,我无法在模型项目中添加prism和Newtonsoft.Json等软件包。 使用诱饵和开关技巧模拟Xamarin表单的属性 我已经尝试了这里描述的方法,基于在模型PCL中创建自定义属性,并在类库中重新定义它们。 MyClient.Droid和MyClient.UWP重新定义属性,将它们留空,MyServer将使用Entity Frameworkfunction重新定义它们。 自定义IndexAttribute – 模型PCL: namespace Model.Compatibility { public class IndexAttribute : Attribute { public IndexAttribute() { } } } 自定义IndexAttribute – 服务器端: [assembly: TypeForwardedToAttribute(typeof(Model.Compatibility.IndexAttribute))] namespace […]