2016-09-01 26 views
2

から一覧表示するには、ローカルデータを追加して、自分のデータベースを照会するために、私はこの方法を使用しています:Entity Frameworkのは、私はEntity Frameworkのにはかなり新しいですデータベース

var _context = new StudioEntities(); 
var results = _context.tblStudios.Select(u => new 
{ 
    u.Standort, 
    u.Name, 
    u.Id 
}).ToList(); 

今、私の目標は、同様にローカルデータを追加することですこれはデータベースには存在しません。このコードで試してみましたが、うまくいきませんでした。

results.Add(new tblStudio { Id = 0, Name = "Gesamt" }); 

誰かがこれを手伝ってくれますか?おかげ

編集

私のテーブルクラスは次のようになります。

public partial class tblStudio 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string Standort { get; set; } 
    public Nullable<int> Plz { get; set; } 
} 
+0

あなたは、任意のデータベースに関連付けられていないだけで、リスト、ある結果オブジェクト、に対して追加を行っています。 "結果"オブジェクトではなく、_contextオブジェクトを変更します。次に、SaveChanges()を呼び出して、ビットをドアに押し込んでDBに送ります。 –

+0

データベースに新しいデータを追加するか、データベースから取得したリストに新しいデータを追加したいだけですか? – kapantzak

答えて

5

resultは、それがAnonymous TypeListで、tblStudiosListではありません。だから、に項目を追加したい場合はresultあなたは次のように実行する必要があります。

var results = _context.tblStudios.Select(u => new tblStudiosDTO() 
{ 
    Standort = u.Standort, 
    Name = u.Name, 
    Id = u.Id 
}).ToList(); 

results.Add(new tblStudiosDTO() { Id = "0", Name = "Gesamt" }); 

をしかし、あなたがマッピングされたエンティティに投影することはできませんので、あなたはtblStudiosエンティティから必要なプロパティをtblStudiosDTOようDTOクラスを作成する必要があります。

public class tblStudiosDTO 
{ 
    public string Standort { get; set; } 
    public string Name { get; set; } 
    public string Id { get; set; } 
} 
+0

ありがとうございますが、これは "エンティティをLINQ to Entitiesクエリで構築できません"というエラーが表示されます。あなたはそれを解決する方法を知っていますか? – Anokrize

+0

@Anokrizeあなたはマッピングされたエンティティには投影できません。 'tblStudios'と同じプロパティを持つ' tblStudiosDTO'のようなDTOクラスを作成することができます。 –

+0

私の編集に私のテーブルクラスを含めました。なぜこのクラスを使用できないのですか? – Anokrize

関連する問題