草庐IT

entity_type_id

全部标签

c# - 如何最小化 Entity Framework SaveChangesAsync?

MockdbContext;[TestFixtureSetUp]publicvoidSetupDbContext(){dbContext=newMock();dbContext.Setup(c=>c.SaveChanges()).Verifiable();dbContext.Setup(c=>c.SaveChangesAsync()).Verifiable();dbContext.Setup(c=>c.Customers.Add(It.IsAny())).Returns(It.IsAny()).Verifiable();}[Test]publicasyncTaskAddCustomer

c# - 我可以做一个类型 "sealed except for internal types"

我想创建一个类型,该类型可以由同一程序集中的类型继承,但不能从程序集外部继承。我确实希望该类型在程序集之外可见。这可能吗? 最佳答案 您可以将构造函数设为内部:publicclassMyClass{internalMyClass(){}}每个派生自基类的类都必须在其构造函数中调用基类的构造函数。如果基类在不同的程序集中,则无法调用构造函数,因此派生类无法编译。 关于c#-我可以做一个类型"sealedexceptforinternaltypes",我们在StackOverflow上找到一

c# - 我应该如何访问 Entity Framework Code First 中的计算列?

我在我的ASP.NETMVC应用程序中使用EntityFrameworkCodeFirst。我的一个类(class)有几列加在一起。我通过在数据库初始值设定项中运行altertable脚本,将这些列存储为表中的计算列。假设类看起来像:publicclassBond{publicdecimalParAmountOfIssuance{get;set;}publicdecimalAccruedInterest{get;set;}publicdecimalPremium{get;set;}publicdecimalOriginalIssueDiscount{get;set;}}改变脚本是这样的

c# - Entity Framework : Duplicate Records in Many-to-Many relationship

我有以下EntityFramework代码优先代码。创建表并插入数据。但是Club表中有重复的记录。我的操作是:-使用俱乐部创建应用程序创建俱乐部使用人物应用创建人物如何避免重复录入?staticvoidMain(string[]args){Database.SetInitializer(newMyInitializer());CreateClubs();InsertPersons();}publicstaticvoidCreateClubs(){stringconnectionstring="DataSource=.;InitialCatalog=NerdDinners;Integr

c# - Entity Framework 中 .SqlQuery() 方法的 params 参数是什么?

该方法采用一个字符串作为查询,并采用一个Object[]数组作为参数,大概是为了避免SQL注入(inject)。然而,世界上没有任何地方记录了应该将什么放入对象数组。关于SO的另一个问题提出了完全相同的问题,但接受的答案不起作用:WhenusingDbSet.SqlQuery(),howtousenamedparameters?我已经尝试了所有我能想到的参数替换形式,但它们都抛出了异常。有什么想法吗?它会不会像这样简单:SqlQuery("SELECT*FROM@table","Users")编辑:这是我尝试过的一些事情(异常是SqlException):varresult=conte

c# - Entity Framework 6 代码优先 : what is the best implementation for a baseobject with 10 childobjects

我们首先有一个包含10个子对象和EF6代码的基础对象。在这10个子对象中,5个只有少数(额外)属性,5个具有多个属性(5到20个)。我们将其实现为每个类型一个表,因此我们有一个基本表和每个child1个表(总共10个)。但是,这会在各处创建带有selectcase和unions的巨大选择查询,这也需要EF6秒来生成(第一次)。我读到了这个问题,同样的问题也存在于每个具体类型场景中。所以我们剩下的是每个层次结构的表,但这会创建一个包含大量属性的表,这听起来也不太好。是否有其他解决方案?我考虑过当我想从所有子对象/记录中获取所有项目时可以跳过继承并创建一个联合View。还有其他想法吗?

c# - 为什么我无法在 Entity Framework 的 SaveChanges() 方法上捕获 SqlException

我将SaveChanges()方法放在try/catchblock中,但我无法捕获SqlExeption。try{db.SaveChanges();}catch(Exceptionex){} 最佳答案 SqlException是System.Data.SqlClient.SqlException类所以你不能捕获这个异常是正常的EntityFrameworkDbContext.SaveChangesMethod()只能抛出以下异常MSDNDbUpdateExceptionDbUpdateConcurrencyExceptionDbEn

c# - 禁用 Entity Framework 代理创建

根据我的阅读,设置ProxyCreationEnabled=false将阻止更改跟踪和延迟加载。但是,我不清楚更改跟踪涵盖的内容。如果我禁用它并从数据库中获取一个实体,对其进行更改并提交,那么这些更改将被保存。我仍然能够从ChangeTracker获取修改后的条目:ChangeTracker.Entries().Where(x=>x.State==EntityState.Modified).ToList()如果我禁用了代理创建,这是否可行?我想禁用它,但我想清楚我要禁用的是什么。 最佳答案 我可以确认在EF中将ProxyCreati

c# - 调试器可视化工具和 "Type is not marked as serializable"

我正在尝试创建一个调试器可视化工具,它会显示任何Control的控件层次结构。它已完成,但我收到异常“类型未标记为可序列化”。我该如何克服呢?控件是.NETWindows窗体框架类型,我无法将其标记为可序列化。 最佳答案 您还需要实现VisualizerObjectSource执行自定义序列化。例子:publicclassControlVisualizerObjectSource:VisualizerObjectSource{publicoverridevoidGetData(objecttarget,StreamoutgoingD

c# - "thread-safe type"到底是什么?我们什么时候需要使用 "lock"语句呢?

我阅读了所有关于线程安全类型和“锁定”语句的文档,但我仍然没有100%理解它。具体什么时候需要使用“lock”语句?它与(非)线程安全类型有何关系?谢谢。 最佳答案 想象一个类的实例,里面有一个全局变量。想象一下,两个线程同时对该对象调用一个方法,并且该方法更新内部的全局变量。变量中的值很可能会被破坏。不同的语言和编译器/解释器会以不同的方式处理这个问题(或者根本不处理......)但关键是你会得到“不希望的”和“不可预测的”结果。现在假设该方法在尝试读取或写入变量之前获得变量的“锁”。第一个调用该方法的线程将获得变量的“锁”,第二