Entity framework 4 如何实现ForeignKey属性到接口
ForeignKeyAttribute在接口上不工作Entity framework 4 如何实现ForeignKey属性到接口,entity-framework-4,attributes,Entity Framework 4,Attributes,ForeignKeyAttribute在接口上不工作 public class Client: CompanyForeignKeyMapper { public int Client; } public class CompanyForeignKeyMapper { [ForeignKeyAttribute("Company")] int ClientId; } 这段代码运行良好。但是当我将CompanyForeignKeyMapper类更改为接口时 publi
public class Client: CompanyForeignKeyMapper
{
public int Client;
}
public class CompanyForeignKeyMapper
{
[ForeignKeyAttribute("Company")]
int ClientId;
}
这段代码运行良好。但是当我将CompanyForeignKeyMapper类更改为接口时
public interface ICompanyForeignKeyMapper
public class Client: ICompanyForeingKeyMapper --> changed to interface
该属性似乎不起作用。在第二个示例中声明客户端类时,它不再从CompanyForeignKeyMapper类继承,因此它将没有ClientId字段。如果希望它从CompanyForeignKeyMapper继承并实现ICompanyForeingKeyMapper接口,请如下声明:
public class Client: CompanyForeignKeyMapper, ICompanyForeingKeyMapper
或者,您可以将ClientId定义为接口的字段,在这种情况下,客户端类必须实现它,并可以向其添加自己的ForeignKeyAttribute:
public interface ICompanyForeignKeyMapper
{
int ClientId;
}
public class Client: ICompanyForeignKeyMapper
{
[ForeignKeyAttribute("Company")]
int ClientId;
}
我打算将CompanyForeignKeyMapper类转换为Interface,因此基本上我将该功能从类复制到了ICompanyForeignKeyMapper,因为其目的只是实现功能,而不是继承。第二个答案不适用于我,因为客户机类实际上是自动生成的,所以我希望[ForeignKeyAttribute]将其传输到接口并将客户机拆分为部分类,但仍然感谢您的输入;)