问题
I have the following model
public class Foo
{
public int Id { get; set; }
public IList<Bar> Bars { get; set; }
}
public class Bar
{
public int Id { get; set; }
}
When I generate the database schema from this using EF Code first it creates the following tables:
Foo
- Id (PK, int, not null)
Bar
- Id (PK, int, not null)
- Foo_Id (FK, int null)
Is it possible to change the name of the Foo_Id foreign key using attributes?
EDIT: Here is the version that does what I need:
public class Foo
{
public int Id { get; set; }
[ForeignKey("AssignedToBarId")]
public IList<Bar> Bars { get; set; }
}
public class Bar
{
public int AssignedToBarId { get; set; }
public int Id { get; set; }
}
回答1:
I think it can be done like below:
Or maybe:
[ForeignKey("AssignedToBarID")]
public IList<Bar> Bars { get; set; }
NOTE: I have not tested neither of them. These are just suggestions.
来源:https://stackoverflow.com/questions/5700645/how-to-customize-foreign-key-column-name-using-entity-framework-code-first