从MBUnit v2迁移到v3,ProviderFactory不见了
在mbunit v2中我做到了: public class ConnectionStringFactory { [Factory] public string ConnectionString { get { return ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString; } } } [ProviderFactory(typeof(ConnectionStringFactory),typeof(string))] public class CustomerTests { public void GetCustomerTest(string connectionSt
8 2024-04-26
编程技术问答社区
如何才能永久解决升级到EF6后出现的 "EdmFunctionAttribute is obsolete "警告?
我正在获取警告" EdmfunctionAttribute是过时的"项目从EF4到EF 6.1.3 : 'system.data.entity.core.objects.dataclasses.edmfunctionattribute'is 过时:'此属性已取代 system.data.entity.dbfunctionAttribute. c:\ {myproject} \ datacontextentityobjects.cs 该属性用于 等各个地方 [EdmFunction("DataContext", "Split")] public IQueryable Split(global::System.String rowData, global::System.String splitOn) { // ... auto-generated code ... } 如果您在错误消息中提到的 *.cs
12 2024-04-26
编程技术问答社区
Entity Framework的代码第一次迁移给出了SqlException。"数据库中已经有一个名为'TableName'的对象。"
我将使用实体框架6.3用于MVC 5应用程序,使用SQL Server 2012使用Code-First(首次).数据库不存在之前,它是由EF从SCRATCH创建的.当我尝试启动该应用程序时,因此EF应该创建数据库时,它会给我以下SQLEXCEPTION错误消息: "数据库中已经有一个名为'tableName'的对象." 我的项目中有以下非常基本的实体: [Table("TableName")] public class ItemStatus { public int id { get; set; } public string Status { get; set; } } 仅此而已. 如果我将tablename的名称更改为其他东西,例如foofoo,则错误消息会反映此更改.因此,我还没有将两个模型放入相同的表名称或类似的任何明显的模型中. 直到最近,一切都很好,我不确定我可以改变什么使它像这样打破.我停止工作之前做的最后一件事是添加新的
6 2024-04-25
编程技术问答社区
如何根据框架来执行不同的动作?(ASP.NET 5)
假设您必须将C#应用程序从.NET框架迁移到新的.NET Core,因为您想拥有一些新功能. 您拥有代码库,您想一次获得完全工作的零件,因为它将一次迁移.主要思想是将来是完全核心. 我的问题是: 是否有一种方法可以检查一个框架中存在但不是另一个框架中存在的功能?或根据框架执行不同的操作? 解决方案 有编译器指令(#if)检查与两个框架相对应的符号.而且也可以针对两个框架. 例如,如果您使用的代码使用了作为.NET核心的一部分的资源,则可以在有条件的汇编指令中包围它们. 编译器指令的用法示例... #if DNX451 // Do something #elif DNXCORE50 // Do something #else #error No implementation for this target # endif 其中DNX451代表.NET框架,而DNXCORE50表示.NET核心. 请参阅他们在行动中在36分
6 2024-04-23
编程技术问答社区
在java中调用.net程序集的最佳和简单方法
存在一种调用.NET汇编的方法,更具体的.dll文件? 我正在为.NET开发一个框架,现在我需要将其迁移到Java,我可以做到吗?我使用c#in .net. 解决方案 检查此响应是有帮助的. 来自Java jvm crashes的呼叫.net汇编. 遇到了这个有趣的网站(可能对您没有直接帮助)... 其他解决方案 最简单的方法应该是可启用.NET组件.这样,您可以以与普通Win32 DLL的通信方式调用任何方法. 可以在此处找到一些样本: http://www.devx.com/interop/文章/19845 其他解决方案 不需要COM对象,我不建议任何自定义解决方案,因为它就像重新发明轮子一样.有很多有关此类集成的特定情况和详细信息,例如通过" ref"," out","通用方法"等进行了,我建议最好将Java使用Java到.NET Bridge,例如 www.javonet.com . 这是有关此解决方案的简短文章: http://jav
8 2024-04-22
编程技术问答社区
从VB6和C#中调用DLL,在双精度中得到的结果略有不同
我在dll中有一个专有库(我没有代码),该库在VB6内使用了多年.我正在尝试将VB6代码升级到C#,并希望使C#代码精确地复制VB6行为.我在从每个环境中调用时,在DLL中完成的某些计算的双重精度结果很难. 在VB6中,我有类似的东西(注意文件读取和写作是为了确保使用并生成完全相同的值): Dim a As Double, b As Double, c As Double, d As Double Open "C:\input.txt" For Binary As #1 Get #1, , a Get #1, , b Get #1, , c Get #1, , d Close #1 Dim t As New ProprietaryLib.Transform t.FindLine a, b, c, d Open "C:\output.txt" For Binary As #1 Put #1, , t.Slope Put #1, , t.Intercept Close #1
12 2024-04-22
编程技术问答社区
EF迁移-数据库中已经有一个名为''的对象。
我在数据库中添加新表遇到困难.这些是我尝试添加新迁移时输入的命令: Add-Migration AdminSett 脚手架迁移" Adminsett".设计师代码 迁移文件包括您当前代码第一型号的快照. 此快照用于计算您的模型的更改 脚手架下一个迁移.如果您对自己的其他更改 您要在此迁移中包括的模型,然后您可以 再次运行" Add Omermation Adminsett"来重新削减它. Update-Database AdminSett 指定" -verbose"标志以查看所应用的SQL语句 到目标数据库.应用明确的迁移: [201607011035464_ADMINSETT].应用明确的迁移: 201607011035464_ADMINSETT. system.data.sqlclient.sqlexception (0x80131904): 数据库.在 system.data.sqlclient.sqlconnection.onerror(sqlexceptio
12 2024-04-21
编程技术问答社区
在程序集''中发现了一个以上的迁移配置类型。请指定要使用的那个类型的名称。在add-migration中
在软件包管理器控制台中,我正在尝试更新我的数据库.当我输入此命令时: add-migration Migration1 我得到了: 在汇编中发现了多种迁移配置类型 'myproject.poco'.指定要使用的名称. 我搜索了错误,我得到了: add-migration InitialBSchema -IgnoreChanges -ConfigurationTypeName ConfigurationB -ProjectName ProjectContextIsInIfNotMainOne -StartupProjectName NameOfMainProject -ConnectionStringName ContextB ,但我不知道如何将其应用于我的项目.我应该为ConfigurationTypename编写什么?还是有一种更简单的方法可以做到这一点?谢谢. 解决方案 您的项目中有多个DbContext您需要指出哪个将具有数据库更新.这可以
12 2024-04-19
编程技术问答社区
在EF Core中配置抽象基类而不创建表格
我通过创建BaseEntity.cs类添加了DateCreated,UserCreated,UserCreated,DateModified和UserModified字段.我的要求是生成单个表,该表以base类的所有字段为列. public class BaseEntity { public DateTime? DateCreated { get; set; } public string UserCreated { get; set; } public DateTime? DateModified { get; set; } public string UserModified { get; set; } } 这是我的Student class public class Student : BaseEntity { public int Id { get; set; } public string Name { g
4 2024-04-18
编程技术问答社区
是否有办法在Entity Framework Core中以编程方式检查待定的模型变化?
我目前正在为ASP.NET Core WebAPI开发设置团队环境,并使用XUNIT与Gitlab CI结合使用XUNIT进行单位测试.对于数据库通信,我们使用EF核心. 对于EF核心,我们将使用代码第一迁移,我们担心开发人员可能只会更新模型,而不会为其模型更改创建迁移. 因此,我们希望我们的CI运行代码库中存在的所有迁移,将它们与代码第一模型的当前状态进行比较,并且当代码第一个模型状态不等于运行所有迁移而导致的状态时失败. 有办法做到这一点吗?我在EF核心文档中找不到有关此的信息. 解决方案 多亏了@ErikeJ的示例代码,我能够编写以下测试,以完成我想要的工作: using FluentAssertions; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.Entit
8 2024-04-18
编程技术问答社区
不能在表上创建一个以上的聚类索引
键入更新数据库后,我有以下错误: 不能在表'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 string YCoordinate { get; set; } } pub
8 2024-04-18
编程技术问答社区
在Fluent Migrator中回滚到以前的版本
我试图使用流利的迁移器来使迁移与我的项目一起工作.但是由于缺乏文档,我正在努力弄清楚如何回滚,并要求我的迁移类要求Down方法. 我用初始版本1类设置了DB: [Migration(1)] public class Baseline : Migration { public override void Up() { Execute.Script("1_Baseline\\baseline.sql"); } public override void Down() { } } 我正在通过包含以下批处理文件运行迁移: " .... \ tools \ fulentmigrator \ crigrate.exe" - 连接"数据 source =.\ sqlexpress;初始目录= ekmdomains;集成 security = true;多重反应Viveresultsets = true;" - -DB SQLSERV
8 2024-04-18
编程技术问答社区
Visual Studio 2015 RC Entity Framework 6.1.3迁移错误
粘贴以下错误仅在解决方案具有一个以上的一个项目引用实体框架时发生. 运行"启用移民"或"添加移民"时,我收到以下错误: new-Object:提供的值无效,属性是 只读.更改值,然后重试.在 D:\ projetos \ monitoramento \ packages \ entityframework.6.1.3 \ tools \ entityframework.psm1:757 char:13 + $ info = new -object system.appdomainsetup -property @{ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + categoryInfo:invaliddata::) [new-object],异常 + flutlqualifiedErrid:setValueException,microsoft.powershell.commands.newobjectCommand the 在此对象上
8 2024-04-18
编程技术问答社区
需要帮助将winform迁移到net 5
我正在将Winform应用程序从Net Core 3.1移植到NET 5并获得以下错误. 严重性代码描述项目文件行抑制状态 错误netsdk1136目标平台必须设置为Windows(通常 通过在TargetFrameWork属性中包括" -Windows") Windows表单或WPF,或引用项目或包装 所以. publicoutput.core c:\ program 文件\ dotnet \ sdk \ 5.0.100 \ sdks \ microsoft.net.sdk \ targets \ microsoft.net.sdk.defaultitems.targets 369 这是Microsofts.net.sdk.defaultitems.targets的部分.
8 2024-04-18
编程技术问答社区
迁移到.Net4后,C#错误 "语言不支持"。
我正在尝试将我们的网站从.NET 3.5迁移到4,并且遇到了一个非常奇怪的问题. 在3.5中正常工作的代码一旦我定位.net4,就不再可以了,给了我错误 " 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[Set
14 2024-04-17
编程技术问答社区
如何用FluentMigrator删除列?
我正在使用.Net4.5和C#,我正在研究数据库迁移之一使用FluentMigrator .我可以使用 来更改表并添加列 Alter.Table("Items").InSchema("Pricing") .AddColumn("CanBe").AsBoolean().NotNullable() 但是,我需要删除一些现有的列,而DeleteColumn nor DropColumn方法不在IAlterTableAddColumnOrAlterColumnOrSchemaSyntax接口上. 如何使用FluentMigrator删除列? 解决方案 我自己找到了它: 它必须作为单独的语句. Alter.Table("Items").InSchema("Pricing") .AddColumn("CanBe").AsBoolean().NotNullable(); Delete.Column("AllowSubscrip
10 2024-04-17
编程技术问答社区
exputeasync和startAsync方法在后台服务.NET核心中的差异
从旧版.NET框架中迁移,我需要创建一个长时间的背景过程工作者. 查看我找到的文档BackgroundService类,该类别用于这种目的.但是我偶然发现了两个相同的方法(对于我的角度)方法ExecuteAsync()和StartAsync() 有人可以向我解释他们之间的主要区别吗? 这是某种隔离原则吗?我们有一种将数据设置为"构造函数"的方法,并且我们有一种实际做事的方法? 解决方案 BackgroundService的默认行为是StartAsync调用ExecuteAsync,请参见代码.这是默认值,StartAsync是virtual,因此您可以覆盖它. 请注意,仅 StartAsync IS public和public and href =" https:/. protected(和abstract).因此,从外部StartAsync称为 如果您创建了BackgroundService的子类,则必须 Inlumiment ExecuteAsync(
12 2024-04-17
编程技术问答社区
asp.net CORE的迁移生成了空。
我正在尝试遵循一个教程,以添加由IdentityDbContext和IdentityUser生成的迁移(第二个). 当我运行dotnet ef migration add 时,UP和DOWN是空的. 我发现,从efmigrationhistory表中删除数据可以解决该问题,但是该表不包含有关该迁移的任何信息,仅在已经创建的第一个迁移上.我尝试删除所有.tmp文件,删除并重新创建迁移. Worlduser: namespace TheWorld.Models { public class WorldUser : IdentityUser { public DateTime FirstTrip { get; set; } } } WorldContext: namespace TheWorld.Models { public class WorldContext : IdentityDbContext
8 2024-04-15
编程技术问答社区
.NET的迁移。在运行时设置和迁移多个数据库
简要介绍: 我有这个ASP.NET WebForms网站,其特殊性不仅有1个数据库,因此它有很多. 为什么?因为您可以在即时创建网站的新"实例".每个"实例"共享相同的代码库,但都有自己的数据库.这些数据库具有相同的模式(结构),但当然是不同的数据.不要问'为什么不将所有内容都放在一个数据库中,并使用instanceID知道哪个是"因为这是业务策略的事情. 该应用程序知道由于URL而要求哪个实例.还有一个额外的数据库可以实现此操作(我确实知道其连接字符串在设计时间中).该数据库只有2个表,并且将URL与"应用程序实例"相关联.然后,当然,每个"应用程序实例"都有其关联的连接字符串. 当前情况:现在没有什么可以帮助我们完成同步的每个实例数据库的工作(传播每个架构的更改).因此,我们正在手工做,这当然是一团糟. 问题:我想使用导轨迁移方式来处理模式更改,最好是 migratorDotnet ,但是如果设置更容易设置,则可以使用其他任何内容. 问题是 migratordot
6 2024-04-15
编程技术问答社区
将PowerBuilder应用程序移植到.NET上
有人有任何建议将PowerBuilder 10 Business应用程序迁移到.NET吗? 我的公司正在考虑将旧版PB申请迁移到.NET(C#),我只是想知道您是否有任何经验 - 好是坏 - 您想分享. 该应用程序很大,有10个PBL库,一些PFC以及自定义框架.也有大量的DLL调用.最后,它使用Microsoft SQL Server数据库. 我们已经讨论了将"核心"应用程序代码移植到.NET,然后在AS-NEDED上移植更高级的功能. 解决方案 当我看到标题时,我只是去潜伏,是一个著名的PB偏执狂.那好吧.感谢您的信心投票,伯纳德. 我的第一个建议是抛弃自我欺骗的语言.如果我吃了一半的" Lite"芝士蛋糕,我仍然会忽视腰带.迁移只需10分钟.您将要做的是A 重写. 时间需要作为重写测量. 风险需要作为重写测量. 设计工作应作为重写测量. 是的,我说了设计工作. "迁移"将抽水代码的图像通过一些黑匣子结合起来,并带有翻译,反映了另一侧的原始图像.
10 2024-04-14
编程技术问答社区