草庐IT

Entity-Framework

全部标签

c# - Entity Framework ——通过名称获取实体

我有以下代码(示例):publicdynamicGetData(stringname){using(varctx=GetObjectContext()){switch(name){case"entity1":returnctx.entity1.ToList();case"entity2":returnctx.entity2.ToList();......default:returnnull;}}}我想避免在这个示例中切换。如何通过名称找到需要的实体类,调用ToList()方法并返回数据?我可以使用反射来做到这一点吗? 最佳答案 您可

c# - 如何对使用 Entity Framework 的存储库模式进行单元测试?

我目前正在尝试对通过EntityFramework创建的存储库进行单元测试:我想要发生的是在不实际发送/连接到实际数据库的情况下测试存储库,我希望在不使用任何模拟框架的情况下进行此操作。目前我的测试是将数据发送到数据库,我想做的是测试添加/删除等方法而不将实际数据发送到数据库,因为它仅用于测试。这是存储库:namespaceAbstractFactory.Repository{usingSystem.Collections.Generic;usingSystem.Data.Entity;usingSystem.Linq;//////Thisclassservesasthestructu

c# - 为 DbContext 设置架构名称

我知道如何在我的上下文中为一个表设置架构,但是有没有办法为一个上下文中的所有表设置默认架构?即[Schema="Ordering"]publicclassMyContext:DbContext{publicMyContext():base("name=ConnectionString"){}publicDbSetStudents{get;set;}} 最佳答案 您可以在自定义继承的DbContext类的OnModelCreating方法中配置默认​​架构,例如-publicclassMyContext:DbContext{publi

c# - 在 Entity Framework 中调用 AsNoTracking 的位置是否重要

编写EntityFramework查询时在何处调用AsNoTracking方法是否重要?例如varmatchingCustomers=context.Customers.AsNoTracking().Where(n=>n.city=="Milan").Skip(50).Take(100).OrderBy(n=>n.Name).ToList();varmatchingCustomers=context.Customers.Where(n=>n.city=="Milan").AsNoTracking().Skip(50).Take(100).OrderBy(n=>n.Name).ToLis

c# - EF4 代码优先 : how to add a relationship without adding a navigation property

我应该如何在不使用任何导航属性的情况下使用CodeFirst来定义关系?之前,我通过在关系的两端使用导航属性来定义一对多和多对多。并在数据库中创建适当的关系。这是类外观的精简版本(为简单起见,我已将多对多关系转换为一对多)。publicclassUser{publicstringUserId{get;set;}publicstringPasswordHash{get;set;}publicboolIsDisabled{get;set;}publicDateTimeAccessExpiryDate{get;set;}publicboolMustChangePassword{get;set

c# - Entity Framework - SQL Azure 重试策略

谁能指导我如何使用EF对SQLAzure实现重试策略。 最佳答案 我正在使用TransietFaultHandlingFramework,由于EF团队提供了更好的解决方案。将上面链接中的二进制文件或项目添加到您的解决方案,并添加对您的项目的引用。使用合适的参数实例化重试策略:varretryPolicy=newRetryPolicy(10,TimeSpan.FromSeconds(0.5),TimeSpan.FromSeconds(2)){FastFirstRetry=true};对context上的任何原子工作使用您的重试策略对象

c# - 跳过并取 : An efficient approach to OFFSET LIMIT in EF 4. 1?

以下代码:using(vardb=newEntities()){db.Blogs.First().Posts.Skip(10).Take(5).ToList();}将生成以下SQL:--statement#1SELECTTOP(1)[c].[Id]AS[Id],[c].[Title]AS[Title],[c].[Subtitle]AS[Subtitle],[c].[AllowsComments]AS[AllowsComments],[c].[CreatedAt]AS[CreatedAt]FROM[dbo].[Blogs]AS[c]--statement#2SELECT[Extent1]

c# - PagedList 在第二页上丢失搜索过滤器

我正在使用http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application中的示例实现一个简单的分页列表索引我的问题是,当我翻到第二页时,搜索字符串“丢失”了,所以我看到的不是经过筛选的结果集,而是所有记录。我的index.cshtml:@using(Html.BeginForm("Index","",FormMethod.Get)){@Html.Te

c# - 搭建controller vs2015时报错Key Already Exists in Table

我正在尝试使用VS2015遵循ProfessionalMVC4中的MusicStoreExample。我在构建音乐商店Controller时遇到问题。每次我尝试创建Controller时,都会弹出一个错误窗口,其中唯一的信息是:“运行所选代码生成器时出错:'表中已存在key。'”我已经四处搜索这个特定的错误,但大多数脚手架错误解决方案似乎都是关于web.config中的错误,但我的web.config中甚至没有任何改变,它是新项目时创建的默认配置已创建。我已尝试创建另一个MVC项目并再次对模型进行编码,但我仍然收到错误。如果有帮助,我正在使用MicrosoftVisualStudioE

c# - LINQ 在 SQL 语句中生成额外的 IS NULL 条件

我正在编写一些LINQ来根据电子邮件获取记录,但是,生成的SQL包含一个额外的ISNULL条件,它不需要存在,因为我正在检查参数值在将条件添加到查询之前在代码中为null。我的LINQ代码是:if(email!=null){query=query.Where(r=>r.Email==email);}由此产生的SQL条件为:(([Extent1].[Email]=@p__linq__0)OR(([Extent1].[Email]ISNULL)AND(@p__linq__0ISNULL)))(([Extent1].[Email]ISNULL)AND(@p__linq__0ISNULL))就