草庐IT

target-framework

全部标签

c# - 使用 Entity Framework 的 Repository 和 Unit Work 模式正确处理?

干杯!我对使用UnitofWorkwithRepository有一些疑问。特别是EntityFramework中子上下文的作用。我搜索了很多关于这个主题的信息,但我发现的只是不同类型的使用模式,我很困惑,我无法理解主要思想。1.应该在哪里实现配置和保存?-是否正确实现了DbContext的Inheritance类中的Disposable?之后是在Repository和UnitofWork中还是在UnifoWork中实现?-将方法保存在工作单元或存储库中的何处?我的存储库将是通用的我的代码在架构风格和其他细节方面是否正确?请告诉我我的想法是否错误。interfaceIRepository

c# - Entity Framework 代码第一个链接表中违反 PRIMARY KEY 约束

我有一个用户表和一个角色表。有一个自动生成的UsersRoles链接表,其中包含来自User和Roles表的Id。这是使用以下代码生成的:modelBuilder.Entity().HasMany(u=>u.Roles).WithMany(r=>r.Users).Map(c=>{c.MapLeftKey("UserId");c.MapRightKey("RoleId");c.ToTable("UsersRoles");});当我尝试添加不相关的实体并调用Context.SaveChanges()时,我收到以下错误:ViolationofPRIMARYKEYconstraint'PK_U

c# - Xamarin.iOS ARKit 演示项目错误 : “32-bit architectures are not supported when deployment target is 11 or later"

从https://developer.xamarin.com/samples/monotouch/ios11/ARKitSample/部署ARKit示例项目时,我收到构建错误Invalidarchitecture:ARMv7。当部署目标为11或更高版本时,不支持32位架构。所有与部署设备和我的开发机器一起检查:我在部署设备上运行iOS11(iPhone6SPlus-ARKit不会在模拟器中运行),并且安装了Xcode9(并且在启动VisualStudioforMac之前启动过一次)。VisualStudioforMac也已更新到最新的稳定版本(ARKit目前在Alpha和Beta版本中

c# - 对象内对象的 Entity Framework LINQ 表达式

编辑这个问题,希望让它更清楚。我们首先设置了EntityFramework代码。为了示例的目的,我简化了两个类,实际上还有大约10多个类类似于“Record”,其中Item是一个导航属性/外键。项目类别:publicclassItem{publicintId{get;set;}publicintAccountId{get;set;}publicListUserItemMappings{get;set;}publicListGroupItemMappings{get;set;}}记录类:publicclassRecord{publicintItemId{get;set;}publicIt

c# - Entity Framework 子查询

伙计们,我是EntityFramework的新手,我遇到了一个我一直试图解决的问题。基本上我有4个实体:用户、组、书籍和阅读列表。用户可以加入一个组,一个组包含书籍-由readingList定义。我正在尝试显示特定组的图书列表,SQL如下所示:SELECT*FROMBooksbWHEREb.IdIN(SELECTBookIDFROMReadingListrlWHERErl.GroupID='3')我通过从UserRepository查询当前用户来确定要搜索的GroupID,目前“按组获取图书”方法如下所示://GetbooksbygrouppublicIQueryableGetGrou

c# - Entity Framework - 子类相关对象的预加载

我想知道是否有可能为给定类的某些子类预加载相关实体。类结构如下订单与许多基本子订单类(SuborderBase)有关。MySubOrder类继承自SuborderBase。我想在加载订单时为Include()指定路径以加载MySubOrder相关实体(客户),但我收到一个错误,声称SuborderBase和客户之间没有关系。但是MySubOrder和Customer之间存在关系。下面是失败的查询Context.Orders.Include("SubOrderBases").Include("SubOrderBases.Customers")如何明确指定?更新。实体方案如下

c# - Entity Framework 代码优先 : Configuration. cs 种子或自定义初始值设定项

我是第一次使用EntityFramework的CodeFirst风格。我想设置一些默认数据。我遇到的第一种方法涉及创建一个custominitializer.我走的是这条路线,但在设置迁移后注意到它随Configuration.cs一起提供,它已经覆盖了种子方法,就像自定义初始化程序一样。internalsealedclassConfiguration:DbMigrationsConfiguration{publicConfiguration(){AutomaticMigrationsEnabled=false;}protectedoverridevoidSeed(Toolkit.Mo

c# - Entity Framework 5 - 派生类的基于枚举的鉴别器

我有以下内容(为清楚起见进行了缩写)-一个枚举、一个具有该枚举的基类,以及两个将枚举设置为特定值的派生类。publicenumMyEnum{Value1,Value2}publicclassMyBaseClass{publicMyEnum{get;protectedset;}}publicclassDerivedOne:MyBaseClass{publicDerivedOne{MyEnum=MyEnum.Value1;}}publicclassDerivedTwo:MyBaseClass{publicDerivedTwo{MyEnum=MyEnum.Value2;}}我想要做的是让En

c# - Web API 2/MVC 5 : Attribute Routing passing parameters as querystring to target different actions on same controller

我一直在玩新的WebAPI2(顺便说一句,它看起来很有前途),但我有点头疼要让一些路由正常工作。当我有GetAllUsers/GetUser(intid)时一切正常,但是当我添加GetUserByName(stringname)和/或GetUserByUsername(stringusername)时,事情开始变得令人毛骨悚然。我知道int将是第一个,我可以重新排序路由,但让我们想象一下以下场景:用户可以有一个有效的username=1234或name=1234(我知道这不太可能,但我们需要防止任何可能的情况)并且我们可能有一个有效的1234数据库中的ID和所有路由将混淆。也许这是我们

c# - Entity Framework 代码优先 : CASCADE DELETE for same table many-to-many relationship

我在EntityFramework和同一实体的多对多关系方面存在条目删除问题。考虑这个简单的例子:实体:publicclassUserEntity{//...publicvirtualCollectionFriends{get;set;}}流畅的API配置:modelBuilder.Entity().HasMany(u=>u.Friends).WithMany().Map(m=>{m.MapLeftKey("UserId");m.MapRightKey("FriendId");m.ToTable("FriendshipRelation");});我是否正确,无法在FluentAPI中定