草庐IT

c# - ASP.NET MVC + EF脚手架实现EntityTypeConfiguration类后可以使用吗?

背景当模型使用数据注释或OnModelCreating(DbModelBuilder)中的直线时,绑定(bind)到EntityFramework的新ASP.NETMVCController的VisualStudio脚手架工作良好描述他们的特点。问题但是,在我们的场景中,OnModelCreating的内容使用个人重构EntityTypeConfiguration类。尝试通过MVC+EF脚手架创建新Controller时,出现以下弹出错误:Therewasanerrorrunningtheselectedcodegenerator:'AconfigurationfortypeSomeM

c# - EF 4 - 没有代理的延迟加载

我读到当我们需要使用延迟加载和更改跟踪时会使用代理。换句话说,要使用延迟加载,我必须启用代理。到目前为止一切顺利。关键是我可以使用下面的代码来设置上下文以不使用代理甚至使用延迟加载。ctx=newSchoolEntities();ctx.ContextOptions.ProxyCreationEnabled=false;ctx.ContextOptions.LazyLoadingEnabled=true;ProxyCreationEnabled属性是否仅与更改跟踪代理相关,还是我遗漏了什么?有人可以详细解释一下吗?谢谢!编辑1我没有使用POCO/DbContext。我使用带有Objec

c# - 如何将多个表达式传递给 EF 的 OrderBy?

我使用的是EF4.2,但我希望这也适用于EF4和4.1。我想传递一个IQueryable和多个Expression>到一个方法并应用该方法OrderBy和ThenBy到IQueryable视情况而定。我找到了thisanswer,并据此编写了如下方法:publicIQueryableApplyOrderBy(IQueryablequery,IEnumerable>>orderBy){if(orderBy==null){returnquery;}IOrderedQueryableoutput=null;foreach(varexpressioninorderBy){if(output==

c# - 首先使用 EF 代码将 datetime2 数据类型转换为 datetime 数据类型错误?

我首先在我的asp.netmvc应用程序中使用EF代码。这是我的代码:Request.RequestDate=DateTime.Now;RequestDate的类型是我数据库中的日期时间。这是我使用上述代码时发生的错误!:Theconversionofadatetime2datatypetoadatetimedatatyperesultedinanout-of-rangevalue.请帮帮我。谢谢。 最佳答案 编辑:Howtofixthedatetime2out-of-rangeconversionerrorusingDbConte

c# - 如何使用 EF Core 2.1.0 和代理进行延迟加载

我有以下模型:publicclassSession{publicintSessionID{get;set;}publicintUserID{get;set;}publicvirtualUserUser{get;set;}}publicclassUser{publicintUserID{get;set;}publicintOrganizationID{get;set;}publicvirtualICollectionSessions{get;set;}publicvirtualOrganizationOrganization{get;set;}}publicclassOrganizati

c# - 将 AutoMapper 与 WCF 数据服务和 EF4 集成的最佳实践

我们通过WCF数据服务公开域模型。该模型源自EF4,需要一些额外的工作才能使其成为通过Web服务发布所需的形式。我想在EF4之外处理这个问题,以使我们的EDMX专注于模型而不是它的使用。我的想法是创建一个定制的“服务模型”,它专门用于网络服务并包含特定于服务的问题。我的问题是如何在WCF数据服务中间最好地连接自动映射器。我将WCF数据服务与ServiceModel的自定义(基于反射的)提供程序一起使用。在哪里可以将OData查询(对于ServiceModels)转换为EF4查询(对于DomainModels),并将结果映射回ServiceModels? 最佳

c# - 在字符串末尾找到匹配项时,使用 .Contains() 和 .ToLowerInvariant() 的 EF 查询结果没有匹配项

是否可以进入linq查询?我有一个最简单形式的EntityFramework4查询的linq:List=List.Where(f=>f.Value.ToString().ToLowerInvariant().Contains(filter.ToLowerInvariant()));这是针对EntityFrameworkDbContext的查询,我无法理解为什么它适用于类似的东西:搜索001的列表不会针对以下列表产生任何结果测试001测试002测试003测试004但是任何其他搜索都会产生结果(例如t00或Test)更新基本上,我在寻找为什么当我使用contains并且值匹配字符串的结尾而

c# - 在 EF6 中将字符串列设置为可为空

我有一个使用EF6创建的模型:publicpartialclassComment{[DisplayName("شناسهنظر")]publicintId{get;set;}[Required(ErrorMessage="متننظرراواردکنید")][DisplayName("متننظر")]publicstringCommentText{get;set;}[DisplayName("تعدادپسندیدن")]publiclongLikeCount{get;set;}[DisplayName("تعدادنپسندیدن")]publiclongDisLikeCount

c# - 日期时间类型的所有属性上的 EF CORE 2.1 HasConversion

我之前在读取实体时使用DateTimeKindEntityMaterializerSource(Git)将所有DateTime转换为UTC,因为未指定默认值。对于EFcore2.1,DateTimeKindEntityMaterializerSource不再有效,但我们实际上可以这样做builder.Entity().Property(e=>e.CreatedDate).HasConversion(v=>v,v=>DateTime.SpecifyKind(v,DateTimeKind.Utc));但是,我有DateTime的许多属性,我想是否有一种方法可以对DateTime类型的所有属

c# - 将 EF6 Code First 字符串流畅地设置为 nvarchar(max)

我正在使用FluentAPI构建EF6代码优先模型。我的理解是,默认情况下,字符串将是nvarchar(max),(坦率地说)对于默认值来说是愚蠢的。所以我添加了以下约定代码以将最大默认长度设置为255个字符:modelBuilder.Properties().Configure(p=>p.HasMaxLength(255));然后我像这样创建了一个装饰器:[AttributeUsage(AttributeTargets.Property,AllowMultiple=false,Inherited=true)]publicclassTextAttribute:Attribute{}我想