草庐IT

副本迁移

全部标签

c# - 拆箱不会创建值的副本。这是正确的吗?

我正在阅读Microsoft的类培训Material。我阅读了以下内容开箱拆箱与装箱相反。它是将引用类型显式转换为值类型。拆箱检索对包含在对象中的值类型的引用。拆箱操作涉及检查对象实例以确保对象instance是给定值类型的装箱值。然后,实例的值是复制到值类型变量中。**拆箱返回指向装箱对象内数据的指针,并且不创建数据副本。**我不太理解我突出显示的那一行。它说当取消装箱对象时,它不会创建副本,它只是返回一个指针。如果那是真的,那么一个值类型变量将被分配到堆中,对吗?拉姆 最佳答案 除了Guffa所说的,这里还有一些额外的信息:您引

c# - 将 Entity Framework Core 迁移用于类库项目

这似乎是anissuethathavebeenfixedalready,至少对于SQLite数据库而言。我的解决方案包含3个项目:WPF项目(默认启动项目)(.NETFramework4.7),持有View模型和非UI内容的“核心”项目-类库项目(.NETStandard2.0)包含所有EntityFramework数据层的“关系”项目-我喜欢将它们分开(.NETStandard2.0)我已将以下包安装到主WPF项目中:Microsoft.EntityFrameworkCore.ToolsMicrosoft.EntityFrameworkCore.Design项目2和3在我的主要WPF

c# - EntityFramework 迁移尝试创建现有数据库

我们正在将一个简单的ASP.NETMVC应用程序部署到我们的临时服务器上,当EntityFramework尝试迁移现有数据库时,我们收到以下错误。CREATEDATABASEpermissiondeniedindatabase'master'.情况如下:这是第一次运行迁移。数据库已经存在(它实际上是一个Umbraco数据库)。看起来下面的方法(来自EntityFramework)返回false,而它显然应该返回true:System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists()数据库初始化器有以下代码:Database

c# - 使用自定义逻辑的 Entity Framework 数据迁移?

假设,我想用表B替换表A并将所有数据从一个表迁移到另一个表,所以我这样做:通过SQL查询创建表B通过SQL查询将整个数据副本从A格式转换为B格式通过SQL查询将所有内容放入B表通过SQL查询删除表A问题是,有时您需要中断事务并进行从A格式到B格式的非事务性转换,这甚至可能涉及对不同服务的调用(例如例如,来自A的对象的新地缘政治状态,或来自A的字段的不同序列化契约(Contract),将其从A压缩到B或您希望更改的有关A中数据的任何内容。因此,问题是如何以任何理想的方式通过EF完成第2步:通过“黑匣子”将整个数据副本从A格式转换为B格式我的意思是不破坏EF迁移文件的概念,并为我提供类似“

c# - 有没有一种扩展代码优先迁移的好方法

我正在开始一个使用EntityFramework的新项目。我研究了有关如何创建数据库的选项,发现代码优先迁移最有意义(如果您需要知道原因,请参阅底部)。Code-First迁移让我可以使用任意SQL,这意味着我仍然可以完全控制。在实践中,我发现问题在于,对于某些常见任务,使用SQL似乎是非常重复的。出于我的目的,我不关心迁移中的扩展是否与提供者无关(我内联的SQL不是)。但是,我并没有真正在迁移框架中找到一个好的接缝或扩展点来添加这些东西。举个具体的例子,假设我想为MS-SQL复制指定一个RowGuid列。每次出现的形式都是Sql(string.Format("AlterTable{0

c# - 序列在 EF CF 迁移中包含多个元素错误

我创建了一些模型,添加了迁移,然后执行了更新数据库操作,但在我最后一次更新数据库操作时,我收到了错误消息:Sequencecontainsmorethanoneelement您可以在下面找到我的迁移配置:context.Categories.AddOrUpdate(p=>p.CategoryName,newCategory{CategoryName="Sport"},newCategory{CategoryName="Music"});context.Subcategories.AddOrUpdate(p=>p.SubcategoryName,newSubcategory{Subcat

c# - 无法生成显式迁移,因为以下显式迁移处于挂起状态

我正在使用EF6.1并通过在我的项目中启用了代码优先迁移Enable-MigrationsAdd-MigrationInitializeDb-ConnectionProviderNameSystem.Data.SqlClient-ConnectionString"DataSource=myServer;InitialCatalog=myDb;PersistSecurityInfo=True;UserID=sa;password=******;applicationname=L4"Update-Database-ConnectionProviderNameSystem.Data.SqlC

c# - EF 5 代码迁移错误 : "There is already an object named _____ in the database"

在进行EF5代码迁移时遇到了一个反复出现的奇怪问题,现在让我无法工作。尝试运行update-database并收到此错误:Thereisalreadyanobjectnamed'RequestStatus'inthedatabase.详细的日志转储:PM>update-database-vUsingStartUpproject'LicensingWorkflow'.UsingNuGetproject'LicensingWorkflow'.Specifythe'-Verbose'flagtoviewtheSQLstatementsbeingappliedtothetargetdataba

c# - 为什么要在 List<T>.AddRange(IEnumerable<T>) 中添加额外的副本?

我正在查看System.Collections.Generic.List的开源代码.AddRange(IEnumerable)方法如下所示:publicvoidAddRange(IEnumerablecollection){Contract.Ensures(Count>=Contract.OldValue(Count));InsertRange(_size,collection);}和InsertRange(int,IEnumerable)方法看起来像这样:publicvoidInsertRange(intindex,IEnumerablecollection){if(collecti

c# - 在数据库迁移失败时恢复应用程序的先前状态 (ClickOnce)

我想恢复使用ClickOnce发布的以前版本的C#应用程序,如果数据库迁移失败,因为数据库不是最新的并且不支持最新版本的应用程序。详细信息我正在开发一个应用程序,该应用程序将在无法使用互联网的偏远地区本地使用。一个人会每隔一段时间通过某种方式访问​​互联网来更新他/她的应用程序,然后将应用程序部署到本地网络上。从那里每个人都将能够获得更新版本的应用程序。我现在想要的是使用此应用程序进行数据库迁移,如果该应用程序失败,它应该恢复到以前的版本。我已经使用FluentMigrator进行数据库迁移,并使用ClickOnce部署应用程序。我还浏览了这里的几乎每个链接,看看我该怎么做。我现在知道