gpt4 book ai didi

database - 带外键的 EF 数据库第一个角色名称?

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:52 25 4
gpt4 key购买 nike

我正在使用 EF 数据库优先。在数据库中,我们有很多从一个表到另一个表(相同)的 fk。在生成模型时,EF 使用另一端的表名作为角色名。这是个问题。下面我做了一个小例子,来说明这个问题。

我希望生成的代码使用 fk-name,而不是表名。 VS 正在生成的模型现在是这样工作的:

aTrip.Location
aTrip.Location1
aTrip.Location2

当我想拥有

aTrip.coming_from
aTrip.arrives_to
aTrip.next_dest

现在,我可以在 VS 中更改角色名称。问题是如果我重新导入,我所有的更改都会丢失。此外,还会有很多繁琐的重命名,因为我们的数据库包含很多像这个例子一样的 fk。

我想要的是更改 VS 生成模型的方式,并使用 fk 的列名称,这更正确。那可以吗?

+----------------+                   +-------------+
| Trip | |Location |
+----------------+ | |
| | +-------------+
| | | Name |
| |* 1| |
| coming_from --------------------- |
| | | |
| | | |
| |* 1| |
| arrives_to --------------------- |
| | | |
| | | |
| |* 1| |
| next_dest --------------------- |
| | | |
+----------------+ +-------------+

最佳答案

我知道这个问题很老,但我偶然发现了它,我想我会发表我的意见。

现在,我不知道如何回答有关在将数据库导入模型时更改外键默认命名的具体问题。也许有办法,但我不知道!如果有人这样做,那就去做吧,我也想听听。

但是,在这种情况下,我要做的是查看数据库中是如何进行更改的。这可能不适合您的设置,但如果仅从这个应用程序使用数据库,您可以从数据库优先转移到模型优先。

在您从数据库初始导入并生成模型后,我会将模型作为数据库的原始来源,并在那里进行所有更改,并相应地更新数据库。这意味着您可以以任何您想要的方式重命名关系,而不必在每次更改数据库时都重复该任务。

我完全理解,如果您的情况比这更复杂,这可能一点也不适用,但对某些人来说可能是一个选择。

当然,您总是可以更进一步,先定义模型代码,我个人更喜欢使用这种方法,但这只是我的意见!

关于database - 带外键的 EF 数据库第一个角色名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10316392/

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