我只想将调用发送到SQLServer,而不是等待返回。我有一个从存储过程导入的实体函数,我想在EntityFramework6.0.0-rc1中以这种方式异步调用它。这可能吗?语法是什么?EntityFunction:RecalculateBudgetNumbers(intid) 最佳答案 启动一个新的Task,创建一个新的数据上下文并调用该函数。只是不要等待/等待该任务。让它自己运行直到完成。确保记录错误。不要吞下异常,因为它们可能是您想了解的错误。在ASP.NET设置中,请注意工作进程可以随时回收,因此您的后台工作可能会突然消失
DbSet.Add方法返回一个实体。我通常会期待Add操作有void返回类型。当我查看EntityFrameworksourcecode,我看到了以下实现:publicvirtualTEntityAdd(TEntityentity){Check.NotNull(entity,"entity");GetInternalSetWithCheck("Add").Add(entity);returnentity;}GetInternalSetWithCheck返回InternalSetAddInternalSet的方法|有趣的是,它的签名中有一个void返回类型:publicvirtualvo
我正在使用EntityFramework4.2(代码优先)访问我的数据库。我假设如果我使用SingleOrDefault查询一个实体,如果该实体尚未被跟踪,它只会查询数据库,但事实并非如此。另一方面,Find方法似乎确实在执行此操作。Find的问题是它似乎不允许我加载相关数据。有没有一种方法既可以使用Find方法又可以快速加载数据?例如,我想加载一本书及其所有评论://LoadbookfromthedatabaseBookbook=context.Books.Find(1);context.Entry(book).Collection.Load();//Book.Reviewsisno
我有一个包含这些行的大型EntityFramework查询。varprograms=frompinRepository.Query()wherep.OfficeId==CurrentOffice.IdlettotalCharges=p.ProgramBillings.Where(b=>b.Amount>0&&b.DeletedDate==null).Select(b=>b.Amount).Sum()lettotalCredits=p.ProgramBillings.Where(b=>b.Amount-b.Amount).Sum()letbillingBalance=(totalChar
我已经为我的数据库对象生成了实体代码块,并选择了一些我的用户定义的标量函数。但是当我试图双击Model.Store中的函数来导入函数时,我得到了这个错误。不能为可组合函数创建函数导入。如何导入我的函数? 最佳答案 我不知道我在ExecuteFunction中看到了什么,但它不起作用。在这个post的帮助下,我终于得到了一个端到端的解决方案以及其他回复中显示的文章。第一步是将函数放入您的EDMX文件中:第二步是在与EDMX文件相同的命名空间中设置一个类(通过在与EDMX文件相同的目录中创建类可以轻松完成:usingSystem.Dat
假设我们在数据模型中有四个实体:Categories、Books、Authors和BookPages。还假设Categories-Books、Books-Authors和Books-BookPages关系是一对多的。如果从数据库中检索类别实体实例——包括“Books”、“Books.BookPages”和“Books.Authors”——这将成为一个严重的性能问题。此外,不包括它们将导致“对象引用未设置为对象的实例”异常。使用多个Include方法调用的最佳实践是什么?编写单个方法GetCategoryById并将所有项目包含在其中(性能问题)编写单个方法GetCategoryById
我有一个我的内容模型:classBaseModel{publicvirtualstringContent{get;set;}//...}要仅显示数据,上面的模型就可以了。但我想添加编辑内容的功能。所以我需要向成员content添加一个属性-但这应该只发生在autor按下编辑按钮时,而不是在内容的常规View中。所以我创建了第二个继承自BaseModel的模型,这样我就可以用我的属性覆盖成员:classEditableBaseModel:BaseModel{[UIHint("MyEditor"),AllowHtml]publicoverridestringContent{get;set;
我在一个项目中,我们在EntityFramework上为我们的数据库使用CodeFirst。我们希望更改我们所有的持续集成以在下游使用生成的MSI包,但使用EF会带来一些复杂情况。当模型发生变化时,我们必须生成一个基于代码的迁移,否则包将被破坏(数据库与模型)我们更愿意从团队中删除迁移的创建(基于https://msdn.microsoft.com/en-us/data/dn481501.aspx)我已经尝试了来自网络的各种方法,但大多数似乎都需要将AutomaticMigrations设置为true以及AutomaticMigrationDataLossAllowed(请参阅:htt
我正在努力完成这项工作。我已经安装了Unity和Unity.AspNet.WebApi包(v3.5.1404)并且低于包附带的激活码publicstaticclassUnityWebApiActivator{///IntegratesUnitywhentheapplicationstarts.publicstaticvoidStart(){varcontainer=UnityConfig.GetConfiguredContainer();varresolver=newUnityHierarchicalDependencyResolver(container);GlobalConfigu
当我需要分层(父子)关系时,我通常在我的EF查询中使用Include语句。例子:DbContext.Customers.Include("Projects");这很好,但是Customers和Projects实体总是会带回所有列。我知道下面的查询将返回父表中的特定列,但我也试图仅返回子表中的特定列。如果我在Projects上使用intellisense,它显然是一个集合,不会提供特定的属性供选择。fromcinCustomersletProjects=c.Projects.Where(p=>p.Notes!=null)whereProjects.Any()selectnew{c.Use