1

私はこのクエリを持っています

var resultado = from c in conn.carrera
                            join u in conn.usuario on c.idusuario equals u.idusuario
                            join t in conn.texto on c.idtexto equals t.idtexto
                            where c.estatus == 1
                            select c;

どのように私はそれとして何かを得るのですか?

select c.*,u.*,t.eltexto from carrera c
join usuario u on c.idusuario =u.idusuario
join texto t on c.idtexto = t.idtexto
where c.estatus = 1

クエリで確認できますがselect c.*, u.* and t.col1,、EFで取得するにはどうすればよいですか?私の最初のクエリは取得するだけcarrera.*ですが、より多くのデータが必要だからです。

ありがとう

4

2 に答える 2

4

3つの結合されたテーブルのすべてのプロパティで構成される新しいオブジェクトを簡単に返すことができます。

var resultado = from c in conn.carrera
                            join u in conn.usuario on c.idusuario equals u.idusuario
                            join t in conn.texto on c.idtexto equals t.idtexto
                            where c.estatus == 1
                            select new
                            { 
                               c.prop_1, 
                               c.prop_n, 
                               u.prop_1, 
                               u.prop_n, 
                               t.prop_1, 
                               t.prop_n 
                            };
于 2012-12-19T20:58:29.507 に答える
0
select c.*,u.*,t.eltexto from carrera c
join usuario u on c.idusuario =u.idusuario
join texto t on c.idtexto = t.idtexto
where c.estatus = 1

from c in Carrerra
join u in Usuario on c.idusuario equals u.idusuario
join t in Texto on c.idtexto equals t.idtexto
where c.estatus = 1
select new {
  newcolumn1 = c.column1,
  c.column2,
  usercolumn1 = u.column1,
  usercolumn2 = u.column2,
  textcolumn = t.column1
}

オブジェクト自体にアクセスしたい場合は、次のことができます

select new {
  usario = u,
  carrera = c,
  texto = t
}

Carrera、Usario、およびTextoは、EntityFrameworkコンテナー内のモデルを参照します。

于 2012-12-19T21:20:43.993 に答える