-1
我正在使用EF6访问一组三个表“TableA”,“TableB”和“TableC” TableA与TableB和TableC有多对多的关系,所以有两个表创建TableAableB & TableAableC。这些表格各有两列, TableA_Id和TableB_Id或TableA_Id和TableC_Id。这有效,但现在DBA希望我从这些列中删除下划线字符。使用EF6代码优先不迁移到现有的数据库如何指定多对多连接表的列名?
虽然原始表格是通过迁移创建的,但我已经从项目中删除了迁移方面。我已将实际连接表中的列重命名,但我如何将关系返回到TableA来工作?是否可以通过数据注释或流利?
表A:
public class TableA
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual ICollection<TableB> TableBs { get; set; }
public virtual ICollection<TableC> TableCs { get; set; }
}
表B:
public class TableB
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<TableA> TableAs { get; set; }
}
表C:
public class TableC
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<TableA> TableAs { get; set; }
}
这是不同的,那么前面的问题,因为它指定表已经建立的连接,并具有特定的列名称。问题是如何获得现有的代码来映射到正确的列名称
名称。
这仍然说明这里给我一个无效的列名(旧列名包含下划线) –
愚蠢的错误...我正在构建一个发布版本和测试调试版本,所以调试版本没有看到我的代码的任何更改。 –