code-first相关内容

在Entity Framework Core和UWP中删除表

我正在使用UWP学习实体框架。我试图通过从DbContext中删除表来删除表。迁移后运行代码时,我收到一个错误,表明UWP不支持删除主键。 本文 https://docs.efproject.net /en/latest/providers/sqlite/limitations.html ,建议使用sql(string)方法。 本文 https://msdn.microsoft.com/en ..
发布时间:2020-10-04 21:19:41 其他开发

如何将列添加到表(架构升级)并将其映射到EF代码第一个对象

我有一个数据库,该数据库是我首先使用Entity Framework 4.1代码为网站创建的。我需要向我的一个实体类中添加一个简单的属性,并向数据库中添加一个对应的(可能为空)列,而不会丢失数据库中的任何数据。 我认为我可以关闭网站,更改数据库以添加列,并使用更新的实体类重新部署网站,但是我不确定这是进行此架构升级的最佳方法。 在首先使用代码创建的数据库上,有没有一种标准的(或更好的方 ..

Code First无法映射替代属性

我在使用Code First中的TPH将覆盖的属性从POCO对象映射到数据库时遇到问题。 我的代码类似于这些类: 公共抽象类Vehicle { public int ID {get;组; } 公共摘要NumberOfWheels {get; set;} } 公共类摩托车:车辆 { 公共替代NumberOfWheels {get;组; } } 当我尝 ..
发布时间:2020-10-04 21:19:23 其他开发

我可以创建一个用于属性参数的常量表达式吗?

任何回答此问题的人都知道,属性的参数需要常量表达式。可选参数(对于任何东西,不仅是属性)还需要使用常量表达式作为其默认值。 RegularExpressionAttribute 的pattern参数。我的数据模型中有数十个使用此属性的属性(可在System.ComponentModel.DataAnnotations中找到),每当更改验证模式时,都必须返回并进行 everryyywherrr ..
发布时间:2020-10-04 21:18:20 C#/.NET

实体框架添加现有项目导致克隆

我正在将Entity Framework v4用于一个小型项目。通常我使用NHibernate。我的问题是,我不小心有代码添加了一个已经保留在数据库上下文集合中的对象,当我执行SaveChanges()时,EF制作了该对象的副本,并为其赋予了新的主键。 虽然这很有用,但这不是我想要的。有没有办法关闭该功能,而是抛出异常? 更新:现在包含代码 公共类CcUser { publ ..
发布时间:2020-10-04 21:18:17 其他开发

自定义类型作为主键

我目前在Visual Studio 2015上使用EF6代码优先。 我正在使用希望将用户定义类型用作主键的数据库。 这是我想要的一个简单示例: 公共类ObjectIdType { 公共字符串id {组; } } 这是用户定义的类型。 公共类ClasseProva { [键] [DatabaseGenerated(DatabaseGenerat ..
发布时间:2020-10-04 21:18:09 C#/.NET

转换为值类型'DateTime'失败,因为实例化值为null

我的项目抛出上述错误,因为表中的“发货日期”为空。我正在使用代码优先,并且在通用集和SQL表中,DateTime字段都声明为可为空。我正在用结果集填充gridview。理想情况下,当ShipDate字段为null时,我希望gridview显示为“尚未发货”,但是在这一点上,我很高兴能够显示记录。任何帮助是极大的赞赏。这是我正在使用的后台代码和上下文类: 公共类Order { [关键字] ..
发布时间:2020-10-04 21:18:06 其他开发

实体框架代码第一个内部类-可能吗?

是否可以使用内部访问声明代码优先数据类,如下所示: 内部类Person { public int Id {get;组; } 公共字符串Name {get;组; } } 我要求类及其属性在外部不可见 解决方案 只要将您的类暴露给EF的DbContext派生类位于同一程序集中,能够。我不会以这种方式设计应用程序,因为我更喜欢分离。但是如果上下文在同一个程序集中 ..
发布时间:2020-10-04 21:18:01 其他开发

实体框架代码优先属性与流利的api配置结合

我可以在实体框架中将代码优先属性与fluent-API配置结合使用吗? 谢谢。 解决方案 可以。我通常更喜欢定义一些约束(例如,使用 [Required] 来创建必需的属性,或者使用来定义字符串属性的长度) StringhLength(1,10)): [必需] [StringLentgh(1 ,10)] 公共字符串BookName {get; set;} ..
发布时间:2020-10-04 21:17:57 其他开发

在西里尔语中播种数据的代码优先问题

我正在使用种子方法填充数据库。 一些对象具有西里尔字母的属性。示例: context.Wines.AddOrUpdate(new Wine() { Id = 1, 名称=“Шардоне”, 等.................................... .... 对象已在数据库中正确创建,但是当我在MS中检查数据库时SQL Management Stu ..
发布时间:2020-10-04 21:17:52 C#/.NET

多重继承(也许是抽象类?)C#实体框架

最近几周,我一直在使用Visual Studio 2015在c#上基于Entity Framework 6(代码优先)开发数据库。 I' m目前正在处理继承提供的所有选项。 此时,按照数据库的标准,我应该使用主键实现多重继承。 这是什么意思? 这意味着我应该实现一个从另一个类继承的类,并具有自己的PK来标识他与父类不同。在这一点上,我可以用TPC来实现它,使父类成为抽象类,而不在父类上 ..
发布时间:2020-10-04 21:16:49 C#/.NET

用实体框架“首先编码”进行映射。

我正在尝试使用“先编码”的Entity Framework映射我的实体,但是映射复杂类型时遇到问题。这里是我的简化示例: 域对象看起来像: public类客户 { 公共地址DeliveryAddress {get; set;} } 公共类地址 { 公共字符串StreetName {get; set;} 公共字符串StreetNumber {get; set;} pu ..
发布时间:2020-10-04 21:16:41 其他开发

首先以Entity Framework代码还原数据库

我在模型中制作了一个,并使用 添加迁移sdfgfsd 更新数据库 现在我发现我所做的更改是不必要的。 我想同时还原代码和数据库。 我该怎么做? 解决方案 是的-很简单。使用 更新数据库-TargetMigration:zzzz 其中 zzzz 是要回滚的迁移之前的迁移名称。 编辑 然后,您需要在zzzz之 ..
发布时间:2020-10-04 21:16:35 C#/.NET

EF CodeFirst:Rails样式的创建和修改列

使用Entity Framework CodeFirst,我如何创建一个创建的datetime列,该列在每次为该表插入记录时填充当前时间戳,而修改后的datetime列则在每次更新一行时生成时间戳。 Rails默认情况下会这样做,而我希望EF生成的数据库也可以这样做,但事实并非如此。这可以通过数据注释来完成吗? 谢谢! 解决方案 不是吗?在EF中受支持。 EF不会自动为您创建这些列。 ..
发布时间:2020-10-04 21:16:15 其他开发