Linq to SQLでは、データベースに存在する外部キーとPKSに依存する必要がないリレーションシップを指定することができました。EF4.1(コードファースト) - 複合関係を指定する方法
public class Equipment_CableNormalised
{
...
[Association(ThisKey = "EquipmentId,PortNumber", OtherKey = "EquipmentId,PortNumber", IsForeignKey = false)]
public List<EquipmentPort> EquipmentPorts
{
get; set;
}
}
これで、" .. join EquipmentPorts EP on EP.EquipmentId = blah and EP.PortNumber = Blah"
に似たsqlが生成されました。
EF4.1でアノテーションや流暢なAPIを使用して同じことを実行できますか?複合キーを指定して[キー]と[外部キー]属性を使用することができますが、この関係はキーに対応していません...
「関係がキーにマップされていません」とはどういう意味ですか?キー(PK/UK、FK)にマップされていない場合は、データベース関係ではありません。 –
データベース関係ではありません。実際には、これらのエンティティの1つは実際には表ではなくビューにマップされます。これらのエンティティとその関連付けを結びつけて、より複雑なクエリコードを書く必要がなくなったのは、L2Sの便利な解決策でした。したがって、データベース内の内容を「純粋な」表現ではありません。 –