草庐IT

迁移虚拟化

全部标签

c# - 合并 Entity Framework 中的迁移条目

我有一个EntityFramework6CF项目,其中已经进行了一些迁移。模型现已稳定,无需保留已经存在的迁移历史。有没有办法重置模型并将所有迁移命令合并到初始迁移中?例如,第一次迁移添加一个列,而第二次迁移添加一个唯一的非聚集索引。我现在想直接在OnModelCreating中而不是在单独的迁移中查看所有这些更改。 最佳答案 迁移有Up和Down。您始终可以通过拆除迁移然后添加新迁移来重新搭建您的应用程序。Down过程不会更改您的模型,只会更改数据库。使用Update-Database-Target:migrationTarget

c# - EF 5,Code First - 创建一个新数据库并以编程方式运行所有迁移

我正在使用EntityFrameworkCodeFirst迁移,并且我有一个场景,我想运行一套集成测试。每次测试运行时,我都想重新创建数据库,并应用所有迁移步骤应该是:删除现有的测试数据库(如果有的话)创建一个新的测试数据库,并应用所有迁移种子数据这是我添加了迁移的现有项目,我使用Enable-Migrations命令创建了一个“InitialCreate”迁移,其中包含将所有表添加到我的数据库的代码。我自定义的IDatabaseInitializer中的代码如下:publicvoidInitializeDatabase(MyContextcontext){//deleteanyexi

c# - 虚拟目录中的 ASP.NET MVC

我的Global.asax.cs中有以下内容routes.MapRoute("Arrival","{partnerID}",new{controller="Search",action="Index",partnerID="1000"});routes.MapRoute("Default","{controller}/{action}/{id}",new{controller="Home",action="Index",id=""});我的SearchController看起来像这样publicclassSearchController:Controller{//Displaysear

c# - FluentMigrator 未运行迁移

我继承了一个使用FluentMigrator管理迁移的项目。最初,该项目在应用程序启动时正在执行迁移,但I.T.已经对此进行了打击,我们现在必须向DBA提供脚本以进行我们所有的数据库更改。作为此过渡的一部分,我已将迁移移至名为迁移的新项目。当我尝试使用命令行工具执行迁移时,它似乎可以工作,但没有迁移应用于数据库。数据库字符串是正确的,因为如果VersionInfo表不存在,则会创建它。迁移有很多,但大多数都非常简单。这是第一个示例:我正在使用SQLServer2012和FluentMigrator1.2.1。这是gunr2171的文本命令行:.\Packages\FluentMigra

c# - .NET Core Entity Framework - 为类库中的 Context 添加迁移

我在将初始迁移添加到.NETCore类库中的EntityFramework数据库上下文时遇到问题。当我运行时:dotnetefmigrationsaddmigrationName-cPlaceholderContext我得到错误:Couldnotinvokethiscommandonthestartupproject'Placeholder.Data'.ThisversionoftheEntityFrameworkCore.NETCommandLineToolsdoesnotsupportcommandsonclasslibraryprojectsinASP.NETCoreand.NE

c# - 为什么我需要在 C# 类中使用虚拟修饰符?

我有以下类(class):publicclassDelivery{//Primarykey,andone-to-manyrelationwithCustomerpublicintDeliveryID{get;set;}publicvirtualintCustomerID{get;set;}publicvirtualCustomerCustomer{get;set;}//PropertiesstringDescription{get;set;}}有人能解释一下为什么他们的客户信息是用虚拟编码的吗?什么意思? 最佳答案 看评论,你在学E

c# - 我应该为哪个项目启用迁移

我有一个wpf项目,结构如下:project1(solution)|->Model(project)|->DataAccess(project)|->project1(project)Project1是我编译并交付exe给用户的项目。现在我想启用自动迁移:Enable-Migrations–EnableAutomaticMigrationsproject1是默认项目。当我运行该命令时,显然它无法找到位于DataAccess项目中的数据库上下文。我能够在DataAccess项目中启用它。但它是正确的吗?如何在project1项目中启用它?编辑:我想我可以在DataAccess项目中启用迁

c# - 使用现有表的代码优先迁移

在我的模型中,我有导航属性语言:publicclassIntegratorDescription:BaseContract{[Key,Column(TypeName="bigint"),DataMember]publiclongId{get;set;}[DataMember,Column(TypeName="bigint"),ForeignKey("Language")]publiclongLangId{get;set;}[DataMember]publicstringCompanyShortInfo{get;set;}[DataMember,Column(TypeName="ntex

c# - 如何将示例(虚拟)数据添加到单元测试中?

在较大的项目中,我的单元测试通常需要一些“虚拟”(示例)数据才能运行。一些默认客户、用户等。我想知道您的设置是什么样的。您如何组织/维护这些数据?您如何将其应用于您的单元测试(任何自动化工具)?您真的需要测试数据还是您认为它没用?我目前的解决方案:我区分主数据和样本数据,前者在系统投入生产时可用(首次安装),后者是典型用途运行测试(并在开发过程中播放)所需的用例。我将所有这些存储在一个Excel文件中(因为它非常容易维护),其中每个工作表都包含一个特定的实体(例如用户、客户等),并被标记为主或样本。我有2个测试用例,我(错过)使用它们来导入必要的数据:InitForDevelopmen

c# - 方法绑定(bind)到外部库中的基方法无法处理新的虚拟方法 "between"

假设我有一个库,版本1.0.0,包含以下内容:publicclassClass1{publicvirtualvoidTest(){Console.WriteLine("Library:Class1-Test");Console.WriteLine("");}}publicclassClass2:Class1{}我在控制台应用程序中引用了这个库,内容如下:classProgram{staticvoidMain(string[]args){varc3=newClass3();c3.Test();Console.ReadKey();}}publicclassClass3:ClassLibra