Tag: 迁移

EF6 – 运行没有种子的Update-Database命令

我正在使用entity framework6,我正在使用迁移。 我已经使用初始迁移创建了数据库。 现在我已对模型进行了更改,并且上下文已更改,我想更新数据库但是…当我再次尝试运行Database-Update命令时,种子也在运行,这会因为某些数据而导致错误再次插入。 那么,如何在不运行种子方法的情况下运行Update-Database命令? 很难相信EF没有像-No-Seed这样的简单选项。 其他ORM的确如此安全。

无法在表上创建多个聚簇索引

键入update-database后出现以下错误: 无法在表’dbo.AppUsers’上创建多个聚簇索引。 删除现有的聚簇索引“PK_dbo.AppUsers”,然后再创建另一个。 我正在开发Azure移动服务。 我有三种数据模型: public class AppUser : EntityData { public string Username { get; set; } public virtual ICollection userRatings { get; set; } } public class PlaceItem : EntityData { public string PlaceName { get; set; } public int Group { get; set; } public string XCoordinate { get; set; } public […]

迁移到.Net4后,C#错误“语言不支持”

我正在尝试将我们的网站从.Net 3.5迁移到4,我遇到了一个非常奇怪的问题。 一旦我以.Net4为目标,在3.5中工作得很好的代码就不再存在了,给了我错误 “语言不支持xxx”。 TimeZoneInfo tzi = !calendarItem.UseUserTimeZone ? user.Settings.TimeZoneInfo : l.TimeZoneItem.Info; 在该行代码上,错误显示在“ .TimeZoneInfo ”和“ .Info ”两者中,类型为“ System.TimeZoneInfo ”。 user.Settings.TimeZoneInfo属性的定义是: public TimeZoneInfo TimeZoneInfo { get { return World.TimeZones[Convert.ToInt32(this[Setting.TimeZoneInfo])].Info; } set { this[Setting.TimeZoneInfo] = value.ToTimeZoneItem().Id.ToString(); } } l.TimeZoneItem.Info属性的定义是: public TimeZoneInfo Info { get { return info; } } 不确定这里发生了什么。 请帮助那个。

C#中的序列化和对象版本控制

如果我想序列化一个对象,我必须使用[Serializable]属性,所有成员变量都将写入该文件。 什么我不知道如何进行版本控制,例如,如果我添加一个新的成员变量(重命名一个变量或只是删除一个变量),然后我打开(反序列化)该文件如何确定对象/文件版本,以便我可以正确设置新成员还是进行某种迁移? 如何确定变量是否在加载期间初始化(由反序列化器忽略)。 我知道有版本容忍方法,我可以用[OptionalField(VersionAdded = 1)]属性标记变量。 如果我打开一个旧文件,框架将忽略这个可选(新变量),它将只是零/ null。 但是,我又如何确定变量是通过加载初始化还是被忽略。 我可以将类/对象版本号写入流中。 使用ISerializable方法并在constructor(SerializationInfo oInfo, StreamingContext context)方法中读取此版本号。 这将告诉我流中的类版本是什么。 但是我预计C#中的流式传输框架已经实现了这种版本控制。 我试图从SerializationInfo获取Assembly版本,但它始终设置为当前版本而不是保存对象时使用的版本。 什么是首选方法? 我在网上发现了很多文章,但我找不到一个解决版本问题的好方法…… 任何帮助表示感谢,谢谢,深渊

将PowerBuilder应用程序移植到.NET

有没有人有任何建议将PowerBuilder 10业务应用程序迁移到.NET? 我的公司正在考虑将传统的PB应用程序迁移到.NET(C#),我只是想知道是否有人有任何经验 – 好的或坏的 – 你想分享。 该应用程序相当大,包含10个PBL库,一些PFC以及自定义框架。 还有大量的DLL调用。 最后,它使用Microsoft SQL Server数据库。 我们已经讨论过将“核心”应用程序代码移植到.NET,然后根据需要移植更高级的function。

有什么工具可以将Delphi 7应用程序转换为C#和.Net框架?

我维护了一个用Delphi 7编写的旧PC应用程序。虽然Delphi过去很好地服务于我,但我现在只将它用于这个应用程序,并发现我的技能随着语言的减少而减少。 它的语法与我在Java / Ruby的“日常工作”语言上有太大的不同,所以我需要更长时间才能进入编写新代码的过程中,而且它已经很老了我没有使用过很多接口,因此代码不能管理我现在看起来很古老! 我的许多用户都转向使用兼容模式运行应用程序的Vista,或者可能有GPF问题,这取决于他们的IT部门如何配置他们的PC,因此我必须对应用程序进行一些维护。 我想知道我是否应该跳到更熟悉的堆栈。 是否有一个自动化工具可以完成将代码库转换为C#的工作,让我专注于任何非标准组件的转换? 我正在使用一个名为AbsoluteDatabase的嵌入式数据库组件,该组件兼容BDE并使用标准SQL,以及本机Delphi HTML浏览器组件,可以与Microsoft世界中的某些东西进行交换。 这些转换工具有多好?

.NET迁移:在运行时设置和迁移多个数据库

简介:我有这个ASP.NET Webforms站点的特殊性,它不只有1个数据库,它有很多。 为什么? 因为您可以即时创建站点的新“实例”。 每个“实例”共享相同的代码库,但拥有自己的数据库。 这些所有数据库都具有相同的模式(结构),但当然是不同的数据。 不要问’你为什么不把所有东西放在一个数据库中,并使用InstanceId知道哪个是“因为它是一个商业政策的事情。 由于url,应用程序知道正在请求哪个实例。 有一个额外的数据库来完成这个(我知道它在设计时的连接字符串)。 此数据库只有2个表,并将URL与“应用程序实例”关联。 然后,当然,每个“应用程序实例”都有其关联的连接字符串。 当前情况:现在没有任何东西可以帮助我们同步保存每个实例数据库(将模式更改传播到每个实例)。 所以我们手工完成,当然这是一团糟。 问题:我想使用rails-migration方式来处理架构更改,最好是migratordotnet ,但如果更容易设置,可以使用任何其他方法。 问题是migratordotnet需要在proj.build文件中声明连接字符串,直到运行时我才知道它们。 真正有用的是在Application_Start上运行的某种方法,它将最新的迁移应用于每个数据库。 如何通过migratordotnet或任何类似的方式完成? 任何其他建议都值得欢迎。 谢谢!

如何启用迁移以在MVC4中更新我的数据库?

我正在使用Visual Studio 2012中的MVC4进行项目,并在表中添加了一列。 现在,当我想调试我的项目时,错误说使用迁移来更新我的数据库。 我该怎么办? 我一直在搜索,发现了一些方法,如: protected override void OnModelCreating(DbModelBuilder modelBuilder) { Database.SetInitializer(null); } 但不知道如何以及在何处实现这个…已经尝试过app_start , global.asax等… 我发现的是,从nuget直接在控制台中启用迁移。 但我无法做到这一点。 我使用的命令: Enable-Migrations -EnableAutomaticMigrations ==>控制台说找到了多个上下文。 要启用use,请Enable-Migrations -ContextTypeName NameOfTheNamespace.Models.DefaultConnection 但我不知道什么是-ContextTypeName ,已经尝试了很多但无法理解。 My Model Code: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; using System.Data.Entity.ModelConfiguration.Conventions; using System.Data.Entity.Migrations; using System.ComponentModel.DataAnnotations; using System.Data.Entity.Infrastructure; namespace Vista.Models { public class TabelaIndex […]