我有一个项目使用最新版本的EF CF与PostgreSQL和Npgsql.
我的模型看起来像:
[Table("mytable")]
public class MyTable
{
[Column("id")]
public int Id { get; set; }
[Column("mycolumn")]
public string MyColumn { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
而数据库/表/列的小写名称如下:
CREATE TABLE mytable
{
id serial,
mycolumn character(50)
}
Run Code Online (Sandbox Code Playgroud)
Npgsql使用引号生成SQL命令,因此我必须使用由于PostgreSQL特性引起的数据注释,这很烦人.但是我想在数据库中不使用引号分隔名称.
有没有办法在生成命令时强制Npgsql不包含引号或在生成的SQL中强制使用小写表/列名称?
如何为不同类型的索引创建自定义索引和键约定.我需要为以下键或索引类型指定不同的命名:
默认情况下,Entity Framework使用以下命名:
我发现我可以实现IStoreModelConvention <T>,但我没有找到特定类型作为类型参数.此外,可以有自定义代码优先约定,但我的研究结束时没有结果.当我使用Entity Framework Code First时,如何才能获得提及的命名规则?它可以是任何东西:包装,样品或以下研究的方向.