以下のデータ モデルを考えると、IsActive =true である Schedule を持つすべての ConfigurableItem を選択したいと思います。
私は re: 連想テーブルに関する多数の例を見てきましたが、例が魔法のように多対多の関連付けを無視しているため、実際にはそれらのいずれも取得していません。私ができるべきだという提案がたくさんあるようです:
var f = from citem in context.ConfigurableItems
where citem.ConfigurableItemSchedules.Schedule.IsActive == true
select citem;
しかし、それはインテリセンス/コンパイルではありません。ここで何が欠けていますか?
アップデート:
サーバーエクスプローラー(SQLサーバー)からのドラッグアンドドロップから自動生成された.dbmlを使用しているため、以下は、コメントのいくつかに答えるのに役立つ可能性のある自動生成されたコードです。それらは、生成されたフィールドの切り捨てられたスニペットです。
public partial class ConfigurableItem : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private long _ConfigurableItemIndexCode;
private string _ItemRootPath;
private string _ItemName;
private string _HandlerAssembly;
private string _HandlerType;
private EntitySet<ConfigurableItemProperty> _ConfigurableItemProperties;
private EntitySet<ConfigurableItemSchedule> _ConfigurableItemSchedules;
....
public partial class ConfigurableItemSchedule : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private long _ConfigurableItemIndexCode;
private long _ScheduleIndexCode;
private EntityRef<ConfigurableItem> _ConfigurableItem;
private EntityRef<Schedule> _Schedule;