相关疑难解决方法(0)

Npgsql与Entity Framework Code First的集成

我有一个项目使用最新版本的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 npgsql

6
推荐指数
1
解决办法
3077
查看次数

EF6中的唯一索引约定

如何为不同类型的索引创建自定义索引和键约定.我需要为以下键或索引类型指定不同的命名:

  • PK_TableName主键
  • 外键的FK_SourceTable_Column_TargetTable
  • IX_TableName_Column1_Column2非唯一索引
  • UX_TableName_Column1_Column2唯一索引

默认情况下,Entity Framework使用以下命名:

  • 主键的PK_ schemaname .TableName
  • 外键的FK_ schemaname .SourceTable_ schemaname .TargetTable_Column1
  • IX_Column1表示非唯一索引
  • ColumnName为唯一索引

我发现我可以实现IStoreModelConvention <T>,但我没有找到特定类型作为类型参数.此外,可以有自定义代码优先约定,但我的研究结束时没有结果.当我使用Entity Framework Code First时,如何才能获得提及的命名规则?它可以是任何东西:包装,样品或以下研究的方向.

c# entity-framework ef-code-first

5
推荐指数
1
解决办法
837
查看次数

标签 统计

entity-framework ×2

c# ×1

ef-code-first ×1

npgsql ×1