Entity framework Firebird/实体框架外键名称

Entity framework Firebird/实体框架外键名称,entity-framework,firebird,Entity Framework,Firebird,使用Firebird.NET提供程序和实体框架(代码优先),外键名称似乎符合以下约定: FK_MyNetClassName1_MyNetClassName2 这使得它很容易超过火鸟的30个字符的限制。有没有办法控制外键名?(它们可以基于我的更短的表名而不是类名吗?那么它们也可以是大写的!)您不能直接更改它。名称创建是在提供程序中硬编码的(当前)。但是,您可以让代码生成脚本,并在那里将其更改为您想要的任何内容。并且您正在从CF模型生成DDL?是的!当我让EF创建一个新数据库时,就会发生这种情况。将

使用Firebird.NET提供程序和实体框架(代码优先),外键名称似乎符合以下约定:

FK_MyNetClassName1_MyNetClassName2


这使得它很容易超过火鸟的30个字符的限制。有没有办法控制外键名?(它们可以基于我的更短的表名而不是类名吗?那么它们也可以是大写的!)

您不能直接更改它。名称创建是在提供程序中硬编码的(当前)。但是,您可以让代码生成脚本,并在那里将其更改为您想要的任何内容。

并且您正在从CF模型生成DDL?是的!当我让EF创建一个新数据库时,就会发生这种情况。将引发一个异常,该异常列出添加约束DDL,并显示“元数据更新不成功。名称长于数据库列大小”。我的表/列名处于ok状态,因此我知道它看到了我的实体类型配置。您认为如何将提供程序更改为使用表名?通常惯例是将外键命名为FK_TABLE1_TABLE2。只是一个想法。我的意思是更改生成的脚本。“但是你可以让代码生成脚本并在那里更改为任何你想要的。”-你能用一些简单的示例来支持本文吗?我不明白你想要什么。