我想在我的MVC4应用程序中测试依赖并使用数据库的方法。我不想使用模拟方法/对象,因为查询可能很复杂并且为此创建测试对象太费力了。我发现集成测试的想法是将测试的数据库操作逻辑包装在TransactionScope对象中,完成后回滚更改。不幸的是,这最初并不是从一个空数据库开始的,它也会使主键依赖(即,当数据库中已经有一些主键为1和2的项目时,然后在我运行测试之后算上4),我不想要这个。这是我想出的“集成测试”,只是为了测试是否实际添加了产品(例如,一旦我拥有正确的基础架构,我想创建更困难的测试来检查方法)。[TestMethod]publicvoidProductTest(){//Ar
我正在尝试从通用Windows应用程序连接到本地MSSQL数据库。我正在使用UWP制作LOB应用程序,以支持桌面、平板电脑和移动设备的使用。尝试连接到本地(内联网)SQL服务器数据库时,我习惯使用SqlConnection的实例连接到本地服务器,但由于SqlConnection未包含在UWP中使用的.NET子集中,因此在使用UWP时如何完成?我查看了officialMicrosoftsamples以及how-toguides,并且没有找到关于不是Azure数据库的数据库连接。DbConnection这似乎是一个不错的选择,但不能使用,因为它是抽象的,而且它的子项(例如Data.SqlC
我的应用程序已经开发了大约一个月。我现在决定使用ASP.NETIdentity。我已经有了标识的View模型,但需要创建表。我在想,但我不确定为什么如果我有View模型,我还没有表??我已经使用自己的自定义上下文在初始化程序中创建了dropcreateon,我只需要知道如何让EF为用户和角色构建包含的身份表?我环顾四周,似乎没有一个发布的答案是我需要的? 最佳答案 考虑迁移如果适用,您需要考虑构建一个migration,这将允许您生成(并可能执行)必要的脚本以在您的数据库中创建适当的表或更改。默认情况下,您应该有某种类型的Appli
情况我正在创建一个C#/WPF4应用程序,使用SQLCompactEdition数据库作为EntityFramework的后端,并使用ClickOnce进行部署。我对使用数据库的应用程序相当陌生,但我不怀疑我在设计和构建原始数据库时会遇到很多问题。但是,我担心将来我需要添加或更改一些功能,这将需要我在数据库已经部署并且用户在数据库中有数据后更改数据库设计。问题是否有可能像代码更改一样通过clickonce更新将更新后的数据库设计推送给用户?如果我这样做了,用户的数据会受到怎样的影响?这种事情在实际情况中是如何完成的?有哪些最佳实践?我认为在最坏的情况下,我需要在数据库或程序设置中构建某
是否有完全在.NET中实现并与Mono兼容的数据库引擎?我想要一个可以通过Mono在所有平台上运行的数据库解决方案,这样我就不必担心每个平台都有单独的native二进制文件。 最佳答案 VistaDB完全是.NET并在Mono上受支持。您可以将您的数据库服务器嵌入到您的应用程序中,因此无需额外设置,唯一的问题是这不是免费产品。Firebird有一个.NET版本,并且是开源的,它也可以在Mono上运行。如果您想使用它进行搜索,它还有一个Lucene适配器。还可以查看此页面,列出Mono下支持的数据提供程序等http://www.mon
将CodeFirstEntityFramework与.NETMVC4结合使用我创建了一个新的Web应用程序并使用对象填充了数据库,如下所示。publicclassGratifyGamingContext:DbContext{publicDbSetGames{get;set;}publicDbSetGenres{get;set;}publicDbSetUserRepository{get;set;}}我想使用我的UserRepository表而不是AccountModel.cs中的内置UserContext类来访问我的用户帐户,因为我无法使用现有的dbContext进行工作。public
我的MSSQL数据库中有3个表,我已将EntityFramework(最新)添加到我导入了这3个表的项目中。第一个问题是没有构建任何实体,所以我将“代码生成策略”从None更改为Default。构建后我得到XAlreadyContainsadefinitionforY关于实体的所有属性。当仔细观察时,它在MainModel.Designer.cs中生成了一个部分exUsers.cs和一个部分User?为什么会生成User.cs?我在另一个项目中有类似的设置并且EF设置了相同的设置,没有User.cs?Edit1:我可以看到一个不同之处,那就是在失败的项目中设置为False的使用强空间类
我们在这里使用自己的ORM,并为我们所有的数据库表提供强类型包装器。我们还允许执行弱类型的临时SQL,但这些查询仍然通过同一个类从数据读取器中获取值。在调整该类以与Oracle一起工作时,我们遇到了一个有趣的问题。使用DBNull.Value还是null更好?使用DBNull.Value有什么好处吗?使用null似乎更“正确”,因为我们已经将自己与DB世界分开,但是有一些含义(例如,当值为null时,您不能盲目地使用ToString())所以这绝对是我们需要有意识地做出决定的事情。 最佳答案 我发现使用null比使用DBnull更好
我只是在查看默认的MVC5项目以及它如何在Controller中使用异步。我想知道与简单地使用同步调用相比,异步在这里提供了哪些好处:[HttpPost][ValidateAntiForgeryToken]publicasyncTaskDisassociate(stringloginProvider,stringproviderKey){ManageMessageId?message=null;//whyuseanasyncdatabasecallherewithawaitinsteadofjustusingasynchronousone?IdentityResultresult=aw
使用:visualstudio2012终极版,ADOEntityFramework6,数据库:Sqlexpress2014(安装在本地PC),数据库表数:174表。我正在尝试使用实体数据模型向导创建数据库模型,但创建模型需要大约8个小时(对话框无响应)。我尝试重新安装visualstudio和EntityFramework,但还是出现了同样的问题。我需要任何可以加速数据库模型创建的想法。 最佳答案 对我有用的是我在更新模型之前将我的数据库兼容性改回2012。在SQLManagementStudio中,右键单击数据库。属性->选项->