草庐IT

framework-part

全部标签

c# - Entity Framework 4 仅代码错误 "Multiple objects sets per type are not supported"

我有两个使用EF4和最新CTP的“纯代码”POCO,针对现有的遗留数据库运行。对PocoA运行LINQ查询一直有效,直到我将下面的属性添加到该对象,我试图添加一个关系。publicvirtualPocoBpocoB{get;set;}一旦我这样做了,我就开始收到以下错误:不支持每种类型的多个对象集。对象集“PocoA_DbSet”和“PocoB_DbSet”都可以包含“PocoA”类型的实例。所以我接下来认为我的问题是因为我没有定义关系,并且这个遗留数据库在主键和外键上使用“fk/pk”前缀而不是“Id”后缀。所以我在上面指定的虚拟方法中添加了以下数据注释,行为没有变化:[Relate

c# - "The .NET framework uses the UTF-16 encoding standard by default"是什么意思?

我的学习指南(针对70-536考试)在IO章节之后的文本和编码章节中提到了两次。到目前为止的所有示例都是使用FileStream和StreamWriter进行简单的文件访问。它还说了诸如“如果您在创建文件时不知道要使用哪种编码,请不要指定编码,.NET将使用UTF16”和“使用Stream构造函数重载指定不同的编码”之类的内容。不要在意实际的重载是在StreamWriter类上的事实,但是嘿,无论如何。我现在正在反射器中查看StreamWriter,我确信我可以看到默认值实际上是UTF8NoBOM。但是这些都没有列在勘误表中。这是一本旧书(检查了两个版本的错误)所以如果它是错误的我会认

c# - 使用 Entity Framework 将文件保存在数据库中

我有一个基于EntityFramework和MicrosoftSQLServer2008构建的ASP.NETMVC解决方案。我需要创建一个功能,让我的用户上传文件。我想要的是:使用EntityFramework在数据库中存储文件的解决方案通过某种哈希/校验和检测并防止将同一文件上传两次的解决方案关于数据库/表设计的技巧 最佳答案 在您的实体模型中,将BLOB数据库列映射到byte[]属性。将上传文件的内容分配给实体对象的该属性,并在ObjectContext中保存更改。要计算哈希值,您可以使用MD5CryptoServiceProv

c# - 获取 Entity Framework 中的总行数

我正在使用EntityFramework获取表格的总行数。我只想要行数,没有where子句或类似的东西。以下查询有效,但速度很慢。返回计数4475大约用了7秒。我的猜测是它正在遍历整个表,就像IEnumerable.Count()一样。扩展方法有效。有没有办法“快速”获得总行数?有没有更好的办法?publicintGetLogCount(){using(varcontext=newmy_db_entities(connection_string)){returncontext.Logs.Count();}} 最佳答案 您甚至可以使用

c# - Entity Framework 只读集合

考虑一个域,其中客户、公司、员工等具有ContactInfo属性,该属性又包含一组地址、电话、电子邮件等...这是我的缩写ContactInfo:publicclassContactInfo:Entity{publicContactInfo(){Addresses=newHashSet();}publicvirtualISetAddresses{get;privateset;}publicAddressPrimaryAddress{get{returnAddresses.FirstOrDefault(a=>a.IsPrimary);}}publicboolAddAddress(Addr

c# - 使用 WinForms 的 Entity Framework UI 验证

我有兴趣使用WinForms应用程序和EntityFramework5设置客户端验证。我知道我可以实现IValidatableObject接口(interface)来执行我可能需要的每个实体的自定义验证。但是,由于我使用的是WinForms,因此当用户填写表单时出现验证错误时,我想使用ErrorProvider向用户提供一个很好的通知。是否可以使用IValidatableObject接口(interface)实现此功能,或者我是否需要在我的实体上实现IDataErrorInfo接口(interface)才能使ErrorProvider正常工作?如果您对此有更好的替代方案有任何其他建议,

c# - Entity Framework : Change connection string at runtime

假设有一个ASP.NETMVC应用程序使用EntityFramework6代码优先方法和StructureMap作为IoC。它还使用工作单元模式。域类:publicclassProduct{publicintId{get;set;}publicstringName{get;set;}publicdecimalPrice{get;set;}}IUnitOfWork和DbContext:publicinterfaceIUnitOfWork{IDbSetSet()whereTEntity:class;intSaveChanges();}publicclassSample07Context:D

c# - 在 Entity Framework 6.1(非 Core)中,如何使用 IndexAttribute 来定义聚簇索引?

EntityFramework6.1(代码优先)增加了通过IndexAttribute添加索引的可能性。.该属性采用一个参数来指定索引是聚簇的还是非聚簇的。同时,据我所知,EntityFramework要求每个实体都有一个主键(用KeyAttribute注释),并且该主键始终创建为集群键。p>因此,一旦我申请IndexAttribute与IsClustered=true,我得到一个错误,因为,由于键,已经有一个聚集索引。那么,如何使用IndexAttribute创建一个不是主键的聚簇索引??是IsClusteredIndexAttribute的属性(property)可以用吗?(关于更

c# - Microsoft 不推荐的 Entity Framework 自跟踪实体

在浏览Microsoft的网站时,我发现他们不再推荐使用self跟踪实体。下面的每个链接都是提到不使用STE的MS资源:显示EntityFramework团队提供的模板:EFDesignerCodeGenerationTemplatesSelf-TrackingEntitiesRecommendedtechnologiesforN-Tierapplications有谁知道为什么Microsoft不再建议使用STE? 最佳答案 (注意:由于我不为MS工作,所以这都是基于他们的公开声明和过去历史的猜想)。您发布的第一篇文章“有点”解释了

c# - Entity Framework 中所有情况的存储过程返回 -1

CREATEPROCspIsValidUser@UserNamevarchar(50),@Passwordvarchar(50)ASIFExists(SELECT*FROMUserswhereUserName=@UserNameandPassword=@Password)BEGINreturn0ENDELSEBEGINreturn1ENDGO我已经创建了这个StoredProcedure并尝试使用EntityFramework调用这个StoredProcedure。下面是用C#编写的代码。MyBusEntitiesdb=newMyBusEntities();intempQuery=db