3
I have this select
:
var pesquisa = (from p in db.Produtos
join pe in db.ProdutosEmpresas on p.Id equals pe.ProdutoID into peph
from pe_ph in peph.DefaultIfEmpty()
select new
{
p.Codigo,
p.nome,
}).OrderBy(p => p.Codigo).ToList();
If I do so, it returns me the records correctly, only I need to bring the field EmpresaID
table ProdutosEmpresas
when I put to bring it returns error, because it can return null
.
In the SQL
would look this way:
select Produtos.Codigo, Produtos.nome, ProdutosEmpresas.EmpresaID from Produtos
left join ProdutosEmpresas on Produtos.id = ProdutosEmpresas.ProdutoID
It returns the following error:
Nullable Object must have a value.
I have to throw him on a list, so I need the value EmpresaID
List<Produto> prod = new List<Produto>();
foreach (var item in pesquisa)
{
Produto produto = new Produto();
produto.Codigo = item.Codigo;
produto.nome = item.nome;
produto.EmpresaID = item.EmpresaID;
prod.Add(produto);
}
Class Produto
[Key]
public int Id { get; set; }
public string Codigo { get; set; }
public string nome { get; set; }
Class ProdutosEmpresas
[Key]
public int Id { get; set; }
public Empresa EmpresaProduto { get; set; }
public int EmpresaID { get; set; }
public Produto ProdutoEmpresa { get; set; }
public int ProdutoID { get; set; }
Hello @marianac_costa. How did you put the property
EmpresaID
on LINQ? Error because?– João Martins
@Joãomartins updated the question.
– Mariana
Mariana, please put the Product class in the question to see what kind of data you are declaring.
– Angelo Simonato
@Angelosimonato ready, added the two classes
– Mariana