Skip to content

Instantly share code, notes, and snippets.

View RobsonFaxas's full-sized avatar

Robson Faxas RobsonFaxas

  • Dell Technologies
  • Brazil
View GitHub Profile
@RobsonFaxas
RobsonFaxas / MapeamentoEntreEntidades.cs
Created June 11, 2021 03:43
[LinqToSql - Mapeamento entre entidades] Como fazer o mapeamento entre entidades com #linq
No LinqToSql, para mapear um relacionamento entre entidades, vamos usar o exemplo do relacionamento Category e SubCategory.
/*########################################################*/
1 - A subcategory que contém a chave estrangeira, deve conter um objeto "EntityRef<ProductCategory>" privado para ser armazenado a referência e um "Association" public, cujos Get e Set do Association apontam para o EntityRef.
/*########################################################*/
private EntityRef<ProductCategory> _ProductCategory;
[Association(Storage = "_ProductCategory", ThisKey = "ProductCategoryID", IsForeignKey = true)]
public ProductCategory ProductCategory
{
@RobsonFaxas
RobsonFaxas / mapeamentoporcodigo.cs
Created June 11, 2021 02:21
[LinqToSql - Mapeamento de tabela por código] Mapeamento de tabela por código #linq
No linqToSql você tem esses passos:
/* ############################################################################ */
1 - Cria-se uma entidade (ProductCategory, por exemplo)
* Aponta ela como sendo a tabela por data notation;
* Aponta suas propriedades como sendo Colunas por data notation;
* Informa a propriedade que IsPrimaryKey
/* ############################################################################ */
using System.Data.Linq.Mapping;
@RobsonFaxas
RobsonFaxas / linqtodataset - populando objeto.cs
Created June 10, 2021 23:09
[LinqToDataset - Populando objetos] Populando objetos a partir de datasets com #linq
class Produto
{
public int Id { get; set; }
public string Nome { get; set; }
public string Numero { get; set; }
}
@RobsonFaxas
RobsonFaxas / linq-query-fromdataset.cs
Last active June 10, 2021 23:06
[LinqToDataset - para consulta dataset] Consultar dados de um Dataset utilizando Linq #linq
static void Main(string[] args)
{
DataSet dsAdventure = PopularDataSet(); // metodo após o main
DataTable dtProduto = dsAdventure.Tables["Product"];
IEnumerable<DataRow> produtos =
from p in dtProduto.AsEnumerable()
where p.Field<string>("Color") == "Black" // observe o campo Field<T> que faz a tipagem
orderby p.Field<string>("Name") descending
select p;
@RobsonFaxas
RobsonFaxas / xml-consulta-linq.cs
Last active June 10, 2021 23:06
[LinqToXml - Consulta xml] Consultas em XML com Linq #linq #linktoxml
XDocument doc = XDocument.Load(@"C:\Curso\C#\Linq\Contatos2.xml");
IEnumerable<XElement> contatos = from c in doc.Descendants("Contato")
where c.Element("Endereco").Element("Bairro").Value == "Bairro XXX"
select c;
//Em sintaxe de método ficaria da seguinte forma:
//IEnumerable<XElement> contatos = doc.Descendants("Contato").Where(c => c.Element("Endereco").Element("Bairro").Value == "Bairro XXX");
@RobsonFaxas
RobsonFaxas / linqtoxml-exemplo.cs
Last active June 10, 2021 23:07
[LinqToXml - criação] Exemplo de linq to XML para criação de um XML #linq
static void CriarXmlLinq()
{
XElement contatos =
new XElement("Contatos",
new XElement("Contato",
new XElement("Nome", "Thiago Mônaco"),
new XElement("Telefones",
new XElement("Telefone", "(11) 9999-9999",
new XAttribute("Tipo", "Celular")),
@RobsonFaxas
RobsonFaxas / linq-expressions.cs
Last active June 8, 2021 00:01
[Expressões Linq] Diferentes expressões em linq #linq
#######################
A sintaxe de consulta disponibiliza as seguintes cláusulas]:
[from]: especifica a fonte de dados e uma variável de interação.
[where]: especifica um filtro booleano (podendo conter uma ou mais expressões lógicas) que será aplicado nos elementos da fonte de dados.
[select]: especifica o tipo e a forma que serão retornados os elementos da fonte de dados.
[group]: consulta grupo de acordo com o valor especificado.
[into]: fornece um identificador que pode servir de referência para resultados das cláusulas]: join, group e select.
[orderby]: ordena os resultados em ordem crescente (ascending) ou decrescente (descending).
[join]: une duas fontes de dados com base na comparação entre valores comuns nas fontes.
[let]: introduz uma variável de interação para ser utilizada com “sub” pesquisa.
@RobsonFaxas
RobsonFaxas / elastic-introduction.txt
Created July 7, 2020 23:35
[Elastic Search - Introduction] O que é elastic Search? #elastic
Imagem ilustrativa:
https://drive.google.com/file/d/1EfmukB65ESufhdwvMuwhmhbnD_ZCr1NB/view?usp=sharing
Como trabalhar?
1 - Elastic Cloud - elastic.co
2 - Levantando Docker
• instalar docker, pull da imagem do Elastic Search, Logstash e Kibana
• Configura o que quiser, normalmente com docker composer e criar várias imagens em uma subida só
• Para trabalhar em produção mesmo precisa de mais expertise:
* Cluster
@RobsonFaxas
RobsonFaxas / gitignore.git
Created April 25, 2020 23:10
#git - 7 - gitignore #VSCode
-- para aplicações C# é interessante ter um ignore para bin, obj, entre outros
1 - Crie na raiz do repositorio o arquivo .gitignore
2 - dentro dele coloque o seguinte conteúdo:
bin
obj
.vs
.vscode
.DS_Store
@RobsonFaxas
RobsonFaxas / ProjectSolution.js
Last active April 25, 2020 23:21
[ASP.NET Core Udemy - Unificando Projects em Solution] Algumas extensões utilizadas para programar em .net core no VS Code #DotNetCore #VSCode
-- Listagem de comandos para criação de vários tipos de projetos
dotnet new -h
-- Criando Solution para o projeto próprio da iBloom (iBloom apenas) (lembrando de voltar ao menu raiz)
dotnet new sln -n iBloom
-- Comandos para criação de projeto Class Library para Dominio e repositório (lembrando de voltar ao menu raiz)
dotnet new classlib -n iBloom.Dominio
dotnet new classlib -n iBloom.Repositorio
-- Adicionando referencia de Dominio em Repositorio (lembrando de voltar ao menu raiz)
dotnet add iBloom.Repositorio/iBloom.Repositorio.csproj reference iBloom.Dominio/iBloom.Dominio.csproj
-- Adicionando os dois projetos para a mesma solução