1

このようなことは可能ですか?以下のエラーが表示されます。

    db.SomeTable.Add(new SomeTable()
    {
        GuidId = Guid.NewGuid(),
        Name = db.AnotherTable.Select(x => x.Name.Where(x.Id == localVariable.Id))
    }

  );
    db.SaveChanges();

システム データ エンティティ DbSet の不明な選択(?)

4

2 に答える 2

2

SelectIEnumerable個々のレコードではなく、 を返します。.First()1 つのレコードだけを取得するには、呼び出しを追加する必要がありました。Entity Framework は、リストを 1 つのフィールドに入れようとしていると見なします。

さらに、あなたの使い方Where()は間違っています。Whereも を返し、IEnumerableにのみ適用できますIEnumerable。リストをフィルタリングする方法と考えてください。

あなたが求めていると私が思うことを行う方法は次のとおりです。

Name = db.AnotherTable.First(x => x.id == someId).Name
于 2013-11-15T00:51:37.033 に答える