-
Conteúdo Similar
-
Por mr22robot
Ola caros amigos.
Estou com uma dúvida aqui que embora nao tenho achado ainda uma resposta, acredito que haja.
Estou estudando a tão sonhada linguagem de programação asp.net core mvc. Linguagem essa que demorei 5 anos pra iniciar os estudos rsrs.
Mas estou agarrado em uma situação.
Estou usando como base de dados nos meus estudos um banco Oracle. Que já tem algumas informações nele. Utilizei o SCAFFOLD para criar as classes e o contexto baseado no banco e tabelas existentes.
Porem agora na fase das consultas, estou perdido em como utilizar o IN que eu utilizo no oracle; no LINQ.
Ex:
SELECT CODPROD,DESCRICAO FROM PRODUTO WHERE CODPROD IN(1,2,3,4,5,6) Como eu utilizo esse filtro com uma restrição de códigos de produtos? no caso o where codprod in(1,2,3,4,5,6) ?.
Desde já obrigado pela ajuda.
-
Por dudepaiva
Boa tarde!
Estou buscando os dados em uma planilha e adicionando em uma lista. Antes de adicionar em uma lista, utilizo o GROUPBY para agrupar a informação desejada, até aqui tudo bem, porém quando tento lançar essa informação num COMBOBOX, ocorre erro de parametro.
A primeira linha em negrito, é onde busco e agrupo as informações. A segunda é onde ocorre o erro.
Segue código:
Quero trazer os dois campos abaixo.
public class ProdutoDTO
{
private string codigo;
private string nomeTributario;
private string linhaReduzida;
private string linha;
private string marcaReduzida;
private string marca;
private string gramatura;
public ProdutoDTO()
{
}
public ProdutoDTO(string codigo, string nomeTributario, string linhaReduzida, string linha, string marcaReduzida, string marca, string gramatura)
{
this.Codigo = codigo;
this.nomeTributario = nomeTributario;
this.linhaReduzida = linhaReduzida;
this.linha = linha;
this.marcaReduzida = marcaReduzida;
this.marca = marca;
this.gramatura = gramatura;
}
public string Codigo { get => codigo; set => codigo = value; }
public string NomeTributario { get => nomeTributario; set => nomeTributario = value; }
public string LinhaReduzida { get => linhaReduzida; set => linhaReduzida = value; }
public string Linha { get => linha; set => linha = value; }
public string MarcaReduzida { get => marcaReduzida; set => marcaReduzida = value; }
public string Marca { get => marca; set => marca = value; }
public string Gramatura { get => gramatura; set => gramatura = value; }
}
A primeira linha em negrito, é onde busco e agrupo as informações. A segunda é onde ocorre o erro.
private void AbrirArquivoExcel()
{
//Configura OpenFileDialog.
OpenFileDialog openFD = new OpenFileDialog();
openFD.Title = "Localizar arquivo";
openFD.InitialDirectory = @"C:\Documentos\Planilhas";
openFD.Filter = "Arquivo Excel (*.xlsx) | *.xlsx";
openFD.CheckFileExists = true;
openFD.CheckPathExists = true;
openFD.ShowReadOnly = true;
openFD.RestoreDirectory = true;
openFD.ReadOnlyChecked = true;
if (openFD.ShowDialog() == DialogResult.OK)
{
try
{
txtOpenFD.Text = openFD.FileName;
var produtos = produtoBLL.Buscar(openFD.FileName, "Dados").GroupBy(x => x.Linha).ToList();
cbLinha.DataSource = produtos;
cbLinha.ValueMember = "Codigo";
cbLinha.DisplayMember = "Linha";
cbLinha.SelectedIndex = -1;
cbLinha.Text = "Selecione";
//CarregarComboBox(cbLinha, produtos, "Linha", "LinhaReduzida");
}
catch (Exception)
{
throw;
}
}
}
Desde já agradeço a ajuda! Já quebrei a cabeça!
-
Por ZecaLoteiro
Boa tarde,
Estou tentando usar o DISTINCT em uma consulta LINQ porém não está funcionando.
Implementei tanto a interface IEquatable quando a interface IEqualityComparer mas mesmo assim não é possível distinguir as instâncias.
Alguém já passou por isso? Poderia ajudar?
Desde já obrigado.
Public Class Teste Implements IEquatable(Of Teste), IEqualityComparer(Of Teste) Private _Codigo As Integer Public Property Codigo() As Integer Get Return _Codigo End Get Set(ByVal value As Integer) _Codigo = value End Set End Property Public Sub New(id As Integer) Me.Codigo = id End Sub Public Overrides Function Equals(obj As Object) As Boolean Return DirectCast(obj, Teste).Codigo = Me.Codigo End Function Public Function Equals1(other As Teste) As Boolean Implements IEquatable(Of Teste).Equals Return Me.Codigo = other.Codigo End Function Public Function Equals2(x As Teste, y As Teste) As Boolean Implements IEqualityComparer(Of Teste).Equals Return x.Codigo = y.Codigo End Function Public Function GetHashCode1(obj As Teste) As Integer Implements IEqualityComparer(Of Teste).GetHashCode Return DirectCast(obj, Teste).Codigo End Function End Class Testando:
Dim p1 As New Teste(78) Dim p2 As New Teste(78) Dim l As New List(Of Teste) From {p1, p2} MsgBox(l.Distinct().Count()) MsgBox(l.Distinct().ToList().Count)
-
Por Raphael Zago
Bom dia,
Estou tentando comparar 2 datas, uma delas esta na tabela, e a outra é uma DateTime.Now, que declarei no meu codigo.
alguem pode me sugerir algo ?
obrigado!!
public ActionResult DevolveFicha(int? id) { GetBasicData(); // var data = (from x in db.EPI_REQ_PENDENTES where x.id_REQ == id select x.id_FICHA); var idf = (from x in db.EPI_REQ_PENDENTES where x.id_REQ == id select x.id_FICHA).FirstOrDefault(); if (idf == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } FICHA_MESTRE fICHA_MESTRE = db.FICHA_MESTRE.Find(idf); if (fICHA_MESTRE == null) { return HttpNotFound(); } DateTime hoje = DateTime.Now; // DateTime.DATA = DateTime.Parse(EPI_REQ_PENDENTES.) //DateTime emiss = DateTime.Parse(fICHA_MESTRE.dat_emissao.Value.ToString()); return View(fICHA_MESTRE); }
-
Por Marceloj
Bom dia.
Estou com dúvida como resolver a consulta linq abaixo, preciso listar os empreendimentos e tenho 3 tabelas uma é processo que possui sua chave primaria ProcessoId, outra é a tabela movimento que possui sua chave primária MovimentoID e tenho uma tabela de associação entre as duas que possui as chaves estrangeiras processoID e movimentoID. A classe movimento possui uma coleção de processos e quando tento fazer o join usando a coleção ele não permite, segue o consulta.
var consulta = (from e in jucemgcContext.Empreendimento join mv in jucemgcContext.Movimento on e.EmpreendimentoId equals mv.idEmpreendimento join p in jucemgcContext.Processo on mv.Processo.Where(t => t.ProcessoId.equals(p.ProcessoId) join m in jucemgcContext.Mensagem on p.ProcessoId equals m.ProcessoId where p.idTipoProcesso == 6 && m.ProcessoId == p.ProcessoId && mv.idEmpreendimento == e.EmpreendimentoId select e);
join p in jucemgcContext.Processo on mv.Processo.Where(t => t.ProcessoId.equals(p.ProcessoId) --- Nesta parte do código ele não aceita informar o equals, dá uma mensagem - Invalid expression term 'equals' )expected.
Desde já agradeço.
-