草庐IT

ENTITY_SET_NAMES

全部标签

c# - Entity Framework 4 中的左外连接太多了吗?

这个问题在这里已经有了答案:SimpleLinqqueryhasduplicatedjoinagainstsametable?(3个答案)关闭3年前。我有一个产品实体,其中包含0或1个“BestSeller”实体。出于某种原因,当我说:db.Products.OrderBy(p=>p.BestSeller.rating).ToList();我得到的SQL有一个“额外的”外连接(如下)。如果我添加第二个0或1关系船,并按两者排序,那么我得到4外连接。似乎每个这样的实体都在生成2个外部连接而不是一个。LINQtoSQL的行为完全符合您的预期,没有额外的连接。有没有其他人遇到过这个问题,或者

c# - View 中具有多个(单独的)键的 Entity Framework 关联

我在设置EntityFramework4模型时遇到问题。联系人对象作为可更新View在数据库中公开。同样由于数据库的历史,这个ContactView有两个不同的键,一个来自遗留系统。因此,其他一些表使用“ContactID”引用联系人,而其他较旧的表使用“LegacyContactID”引用联系人。由于这是一个View,数据库中没有外键,我正在尝试在设计器中手动添加关联。但是流畅的关联似乎没有提供指定引用哪个字段的方法。我如何构建这个模型?publicclassvwContact{publicintKeyField{get;set;}publicstringLegacyKeyField

c# - Entity Framework如何实现读写分离

我有一个使用“主/从复制”的数据库设置。我有一个主人和(至少)一个奴隶,可能有ℕ个奴隶。从这里开始,为简单起见,我将讨论一主一从,因为确定使用哪个从包括一些与手头的实际问题无关的业务逻辑。这是设置示意图(带有ℕ从站):在应用程序中(当前使用Dapper)我有以下简化代码:abstractclassBaseRepo{privatereadonlystring_readconn;privatereadonlystring_writeconn;publicBaseRepo(stringreadConnection,stringwriteConnection){_readconn=readCo

c# - 使用 Entity Framework 持久化状态模式

我目前正在使用MVC3开发一个项目。我已经分离了我的关注点,所以有诸如核心、存储库、UI、服务等项目。我已经实现了存储库、UnitOfWork和最重要的状态模式。我正在使用EntityFramework4.3来保存我的数据,但我遇到了一个相当烦人的情况,涉及到当前状态的持久化。以下是一些类示例:publicclassRequest{publicintRequestId{get;set;}publicStateCurrentState{get;set;}}publicabstractclassState{[Key]publicstringName{get;set;}publicvirtu

c# - Entity Framework 6.1 更新记录的子集

我有一个View模型,它只封装了数据库模型属性的一些。View模型包含的这些属性是我想要更新的唯一属性。我希望其他属性保留它们的值(value)。在我的研究过程中,我发现this答案似乎非常适合我的需求,但是,尽管我尽了最大努力,但我无法让代码按预期工作。这是我想出的一个孤立的例子:staticvoidMain(){//PersonwithID1alreadyexistsindatabase.//1.UpdatetheAgeandName.Personperson=newPerson();person.Id=1;person.Age=18;person.Name="Alex";//2.

c# - Entity Framework 5 过滤并包含导航属性

我想找到一种使用Linq将导航属性过滤到相关实体子集的方法。我知道围绕这个主题的所有答案都建议使用匿名选择器,例如:query.Where(x=>x.Users.Any(y=>y.ID==actingUser.ID)).Select(x=>new{Event=x,Discussions=x.Discussions.Where(actingUser.GenerateSecurityFilterFor())}).OrderBy(x=>x.Discussions.Count()).ThenBy(x=>x.Event.Name);但是,由于我们查询生成的一般性质,这明显不够理想,而且如果您抛出

c# - .NET 网络 API : Set a different Refresh Token Expiration time for different users

我正在使用IdentityServer3为我的角度客户端进行身份验证和生成访问/刷新token。我目前正在为我的Angular客户端设置刷新token在48小时后过期。一些使用我的Angular应用程序的用户需要连续登录100天而无需重新输入他们的凭据,是否可以为特定用户而不是整个客户端设置我的刷新token的到期时间?我的数据库中有100个用户,我希望只有一个特定用户不需要在100天内重新进行身份验证,而其余用户应每48小时进行一次身份验证。类似的东西:if(user=="SuperMan"){AbsoluteRefreshTokenLifetime=TimeSpan.FromDay

c# - "Object reference not set to an instance of an object": why can't . NET 显示更多细节?

“对象引用未设置到对象的实例”为什么异常不显示对象引用字段的名称,或者至少不显示它的类型?这可能是.NET中最常见的运行时错误之一。尽管System.Exception有堆栈跟踪,但没有其他有用的详细信息。在一年的时间里,我花了几个小时筛选堆栈跟踪(通常是在我没有编写的代码中),希望有一个来自“.pdb”文件的行号,然后在代码中找到该行,甚至那么该行中的哪个引用为空通常并不明显。拥有引用字段的名称会非常方便。如果System.ArgumentNullException实例可以显示方法参数的名称(“值不能为空。参数名称:值”),那么System.NullReferenceExceptio

c# - Entity Framework 实体不在 DataSpace.OSpace (_workspace.GetItemCollection(DataSpace.OSpace)) 但在 DataSpace.CSpace

我一直在研究XMLsEntityFramework。我试图创建一种可以在运行时注入(inject)属性的实体,首先我创建了DynamicEntity动态对象publicclassDynamicEntity:DynamicObject{DictionarydynamicMembers=newDictionary();publicoverrideboolTrySetMember(SetMemberBinderbinder,objectvalue){dynamicMembers[binder.Name]=value;returntrue;}publicoverrideboolTryGetMe

c# - 将 'Set Next Statement' 强制为 'if' block 时出现 CLR System.NullReferenceException

背景我承认这不是正常代码执行期间可能发生的事情,但我在调试时发现了它,并认为它很有趣,可以分享。我认为这是由JIT编译器引起的,但欢迎任何进一步的想法。我已经使用VS2013复制了这个针对4.5和4.5.1框架的问题:设置要查看此异常,必须启用CommonLanguageRuntimeExceptions:DEBUG>异常...我已将问题的原因提炼为以下示例:usingSystem.Collections.Generic;usingSystem.Linq;namespaceConsoleApplication6{publicclassProgram{staticvoidMain(){v