0

我有一个实体(实际上是几个),我希望在创建它们时根据自定义逻辑为其分配一个键值。我知道我可以在实体构造函数中执行此操作,但理想情况下,我希望在创建新实体时将其作为数据上下文逻辑的一部分。

我找到了如何关闭自动生成,但我宁愿用我自己的逻辑替换自动生成,理想情况下由 C# 代码处理(我也看到了通过存储过程完成它的技术,我宁愿不使用)。

这甚至可以集中进行吗?

4

1 回答 1

2

自动生成发生在服务器端,而不是由 EF 完成。这是对表键列的设置。所以 EF 不生成任何密钥 - 如果自动生成打开,这是生成密钥的数据库,如果自动生成关闭,这是负责生成密钥的用户。如果您不想在保存更改时生成密钥,您可能需要覆盖 SaveChanges 并为所有新添加的实体生成密钥。

于 2012-11-04T02:30:18.737 回答