gpt4 book ai didi

c# - 使用 Entity Framework 重构代码

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:56 25 4
gpt4 key购买 nike

我有一个使用 EF 来保存我的数据的小型应用程序。

目前我有一个直接映射到“Ticket”表的“Ticket”类。

但是,现在需要创建不同类型的票(例如邮轮票、飞机票、火车票),所以我想重构我的代码,使这 3 种票类型都继承自基本票类。

是否可以在维护/修改现有数据库的同时执行这种重构?

我的直觉是,如果不通过重新创建我的数据库从头开始,然后从现有数据库复制数据,几乎不可能做到这一点。

最佳答案

您必须使用 TableAttribute。对于这种情况,EF 将创建两个一对一相关的表

[Table("Ticket")]
class Ticket
{
[Key]
long ID{get;set;}
}

[Table("AirTicket")]
class AirTicket : Ticket
{
string SomeSpecialAirProperty{get;set;}
}

此处的 Ticket 表将是所有票证的一般列表。

Ticket ticket = db.Ticket.Where(n=>n.ID==ticketID).FirstOrDefault(); 
//the value of ticket will be an object of child (Air or etc Ticket) type

关于c# - 使用 Entity Framework 重构代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com