草庐IT

framework-name

全部标签

c# - 我们什么时候不应该创建 Assembly 的强名称? "strong named assembly"的缺点是什么?

我有一个项目,即library.exe。在此我引用了一个程序集(logging.dllver1.0.3.0)并且我给这个程序集起了一个强名称。现在假设我更改了logging.dll中的一个方法并制作了版本1.0.4.0。现在当我用这个新的DLL复制/替换旧的DLL时,我得到了一个异常。我知道异常是因为我更改了DLL的版本号。因为它是一个强名称DLL,除非我重建library.exe,否则不允许使用它。上面的故事我想说的是仅当我们必须将其添加到GAC时,才对程序集使用强名称。如果我们有一个应用程序,其中单个程序集需要更新,请不要使用强命名程序集。我对第1点和第2点的看法是否正确?什么时候

c# - WCF 反序列化中的 XmlException : "Name cannot begin with ' <'" - in automatic property backing fields

我今天开始在WCF反序列化中遇到错误-代码一直没有改变并且工作了几个月。问题是我正在获取运行时XmlException说“名称不能以‘k_BackingField,这是XmlException的来源。我在网上看到了其他一些引用资料,其中人们接受的解决方案是“我更改了我的代码以不使用自动属性”,这对我来说是不能接受的,因为我需要更改100个对象,(其中有1000个属性)。此外,当我上周运行这段相同的代码时,它运行良好,似乎并没有影响所有序列化的DTO,只有一些。更令人沮丧的是,它似乎有点断断续续。今天早上偶尔会抛出异常...!问题;为什么在未更改的代码和未更改的框架源中突然出现此问题?如

c# - Entity Framework 7 DbContext 脚手架

我正在尝试使用ASP.NET5和EntityFramework7为现有数据库结构生成DbContext。毫不奇怪,没有很多文档介绍如何轻松地完成此操作。另外,我只想搭建上下文;有大约900个表,我只关心其中的几个,我不需要每个表都有一个模型类。我一直在使用指定的命令here和here运气不佳。所以,我想我有两个问题:生成的上下文文件位于何处?我在命令提示符下运行命令没有失败,但没有其他任何反应。我知道我至少来对地方了,因为我可以添加具有不受支持的属性的旧EF6模型,它给我一个错误,指出它们不受支持。是否可以只生成一个没有对应模型类的上下文? 最佳答案

c# - 使用 Entity Framework 将项目添加到集合

我正在尝试使用EntityFramework4遵循DDD存储库模式。但是我在保存对聚合根的集合属性的更改时遇到了问题。考虑我下面的类(class)。Item是我的聚合根,其中包含SubItem实体的集合。publicclassItem{publicintItemId{get;set;}publicstringName{get;set;}publicICollectionSubItems{get;privateset;}publicItem(){this.SubItems=newHashSet();}}publicclassSubItem{publicintItemId{get;set;

c# - Entity Framework 将对象从一个上下文传递到另一个上下文

我是EntityFramework的新手,所以请多多包涵。我有一个程序,我想从一个表中选择多条记录并将其存储在一个队列中:privateQueuegetRecordsToProcess(){Queueresults=newQueue();using(MyEntitycontext=newMyEntity()){varquery=fromvincontext.RecordsToProcesswherev.Processed==falseselectv;foreach(RecordsToProcessrecordinquery){results.Enqueue(record);}}}然后我

c# - 原始 SQL 查询和 Entity Framework Core

我将我的应用程序迁移到ASP.NETMVCCore和EntityFrameworkCore,但我发现了问题。我有像这样的实体的原始SQL查询varrawSQL=dbContext.Database.SqlQuery("RawSQLQuery").ToList();但是没有SqlQuery在context.Database.你有解决这个问题的方法吗? 最佳答案 确保添加usingMicrosoft.Data.Entity;因为您可以使用扩展方法。varrawSQL=dbContext.SomeModels.FromSql("yourS

c# - 默认 Entity Framework 超时

EF查询的默认超时是多少?我试图通过检查context.CommandTimeout来找出答案,但它返回null。我还查看了连接字符串中的网络配置,寻找类似ConnectTimeout=的内容,但默认情况下似乎不存在。 最佳答案 对象查询和SaveChanges操作的默认超时由底层连接提供程序定义。由于EntityFramework可用于许多连接提供程序、mysql、sqlserver等,并且都有不同的默认超时!所以null表示将使用默认超时,如果您想知道默认超时是多少,则取决于您使用的连接提供商!

c# - 如何在 Entity Framework 中设置两个相同类型的导航属性

使用代码优先EF4(使用CTP5),我可以添加一个导航属性以及外键,它会遵守命名并且只将外键添加到表中一次。如果我随后去添加相同类型的第二个属性,它会将其分解为表格中的4列,而不是只有两列。示例代码:使用此模型,我将一个名为PressTypeID的属性添加到PressType的AdapterFrameCapability表中。publicclassAdapterFrameCapability{[Key]publicintAdapterFrameCapabilityID{get;set;}[Required]publicintPressTypeID{get;set;}publicvirt

c# - Entity Framework 导航属性生成规则

我想知道EntityFramework在导航属性的命名/生成方面遵循哪些规则。我已经观察到几个似乎没有意义的场景,所以我想知道是否有人确切地知道这些是如何工作的。场景1:publicclassPost{publicintId{get;set;}publicUserAuthor{get;set;}}生成即。默认情况下,导航属性生成名为[PropertyName]_Id的FK场景2:有意义的是,如果EF在您手动指定FKId时生成格式为[PropertyName]_Id的属性,但是它将遵循相同的规则:publicclassPost{publicintId{get;set;}publicint

c# - 在什么情况下我需要 Entity Framework 中的外键和导航属性

我的订单类有:publicintCustomerId{get;set;}publicCustomerCustomer{get;set;}我真的需要这两个属性才能使关系有效吗?我没有使用断开连接的实体,我使用的是代码优先方法。 最佳答案 根据JuliaLerman的书:ProgrammingEntityFramework:DbContext,区别在于更新导航属性的难度。在第85页,她建议“如果您可以做一件事来让您在N层场景中的生活更轻松,那就是为您的模型中的关系公开外键属性。”本书包含两种场景的示例。原因是包含一个外键属性告诉Enti