jjzjj

phaser-framework

全部标签

c# - 如何对 Entity Framework Code First 映射进行单元测试?

我正在使用CodeFirst将类映射到现有数据库。我需要一种方法来对这些映射进行单元测试,它们混合了基于约定、基于属性和流畅的API。为了进行单元测试,我需要确认类的属性映射到数据库中正确的表名和列名。此测试需要针对上下文执行,并且应首先涵盖代码的所有配置选项。在非常高的层次上,我希望断言类似(伪代码)的东西:Assert.IsTrue(context.TableFor().IsNamed("tbl_Widget"));Assert.IsTrue(context.ColumnFor(w=>w.Property).IsNamed("WidgetProperty"));

c# - 是否有明确的来源列出了 .NET Framework 版本中的所有新内容?

我刚刚注意到PropertyInfo.GetValue(object)存在。我习惯于为索引器添加额外的空值。所以我调出了F1帮助,找到了MSDNdocs的方法。并切换到4.5之前的版本确认它是新的。问自己我怎么可能知道这个而不被绊倒,我扫描了这些what'snewnotes并没有找到任何东西。是否有明确的来源列出.NETFramework版本中的所有新内容? 最佳答案 如果您真的觉得无聊,这些链接可能会很有趣:NewTypesandMembers(未提及PropertyInfo.GetValue(object)),ObsoleteT

c# - Google Drive Api - 带有 Entity Framework 的自定义 IDataStore

我实现了我的自定义IDataStore这样我就可以将最终用户token存储在我的数据库中,而不是默认实现,默认实现保存在FileSystem中的%AppData%。publicclassGoogleIDataStore:IDataStore{...publicTaskGetAsync(stringkey){TaskCompletionSourcetcs=newTaskCompletionSource();varuser=repository.GetUser(key.Replace("oauth_",""));varcredentials=repository.GetCredential

c# - 如何使用 EDMX 文件的映射生成 Entity Framework 6.x POCO 类?

我正在将广泛的EDMX模型转换为POCO类。我需要从数据库优先方法(带ObjectContext的EDMX)转到纯模型优先方法(没有EDMX文件的DbContext)。我需要使用最新的EntityFramework稳定版本:6.1.1。我测试了一些方法:通过右键单击EDMX设计器中的空白区域添加EF6.xDbContextGenerator代码生成项。这工作正常,但它不添加任何映射。通过这种方法,我仍然必须使用EDMX文件。这不是完整的代码优先。使用EF5.xDbContextFluentGeneratorforC#.这会在设计时触发异常。我无法使用它。我不知道那是不是因为我的VSEn

c# - 为什么 LET 语句的顺序在此 Entity Framework 查询中很重要?

我正在处理的EntityFramework支持的.NETWeb应用程序中的网格查询给出了500错误(转换为值类型“System.Int32”失败,因为物化值为null。结果类型的通用参数或查询必须使用可空类型。)当网格行对象恰好在特定的一对多关系中具有零个子项时。null返回到一个不相关的整数属性。令人费解的是,颠倒Linq表达式中两个独立的Let语句的顺序使错误消失了。也就是说,如果只有一个Widget(ID:1,CreatedOn:somedatetime),没有Bars和一个Foo(fValue:96)fromwinWidgets.OrderBy(w=>w.CreatedOn)l

c# - F# 类型提供程序 vs C# 接口(interface) + Entity Framework

这个问题非常技术性,它深深地存在于F#/C#差异之间。我很可能错过了一些东西。如果您发现概念错误,请发表评论,我会更新问题。让我们从C#世界开始。假设我有一个简单的业务对象,将其命名为Person(但是,请记住,有100多个对象远比我们所使用的业务领域中的对象复杂得多):publicclassPerson:IPerson{publicintPersonId{get;set;}publicstringName{get;set;}publicstringLastName{get;set;}}我使用DI/IOC,所以我从来没有真正通过Person大约。相反,我总是使用一个接口(interfa

c# - Entity Framework 无法使用复合键更新表中的数据 (Oracle)

我们有一个Oracle表,该表具有三列的组合键。这些列通过EntityFramework数据模型正确映射到C#对象。当我们从数据库中查询记录然后更新非键列时,我们总是会收到一条错误消息,提示我们正在尝试更新主键(测试摘录如下):varconnection=newDbContextProvider(()=>newDatabaseConnection());varrepo=newRepository(connection);vardeltas=repo.Queryable().Where(d=>d.Volume.SubmissionId==88921).ToList();vardeltaT

c# - 为什么 Entity Framework 会尝试选择所有列,即使我只指定了两个列?

我继承了一个ASPMVC项目,该项目使用EntityFramework6.1.3与DynamicsCRM2011SQL数据库进行交互。我正在使用此查询来尝试获取所有具有帐号的事件帐户,并且我只选择两列为匿名类型:varresults=context.Accounts.Where(a=>(a.AccountNumber!=null)&&(a.StateCode==(int)AccountState.Active)).Select(a=>new{a.AccountId,a.AccountNumber});(context是DbContext,Accounts是DbSet,Account定义

c# - Entity Framework 存储过程结果映射

过去几天,我一直在互联网上寻找与我的问题类似的主题。我终于求助于自己问这个问题。使用代码优先方法和EF4.3.1,我创建了上下文类、实体类和用于存储存储过程输出的类。上下文类具有使用SqlQuery执行某些存储过程的方法。.例子:publicIEnumerableGetData(intid){varparameters=newSqlParameter[]{newSqlParameter("@id",id)};varresult=this.Database.SqlQuery("Execdbo.sproc_GetData@id",parameters);vardata=result.ToL

c# - 如何更新 Entity Framework 中的相关实体

我有一个MVC项目,使用EntityFrameworkCodeFirst和POCO对象作为数据库。例如:publicclassClassA{publicint?Id{get;set;}publicstringName{get;set;}publicvirtualClassBB{get;set;}}publicclassClassB{publicint?Id{get;set;}publicstringDescription{get;set;}}我有一个创建或编辑模型的ActionResult。问题是当我调用此ActionResult来更新模型时,model.B已更改,关系未保存在数据库中