Linq to SQL na mão
08/11/2011
0
Obrigado!
Paulo
Posts
08/11/2011
Victor Fructuoso
08/11/2011
Paulo
Agora, quero pegar o que fiz via SQL (na camada DAL) e usar o Linq.
Ainda não encontrei como fazer isso via código, vejo muitos tuts usando interface gráfica com tudo integrado, mas estou gerenciando a base de dados separado do VS, e queria ver como faz para criar o vínculo ORM codificando mesmo.
Estou usando postgres (Npgsql).
Valeu!
09/11/2011
Paulo
Consegui. Criei um diretório DataContext e coloquei a classe da referência baseado no que é gerado via interface gráfica, mas sem os arquivos que a mesma usa.
Segue abaixo a solução. Só não esqueçam de fazer o mapeamento (annotations) dos campos da tabela com a classe da entidade (no caso aqui é Usuario).
Obrigado pela atenção.
abs
using System.Data.Linq; using System.Data.Linq.Mapping; using System.Data; using System.Collections.Generic; using System.Reflection; using System.Linq; using System.Linq.Expressions; using System.ComponentModel; using System; using MinhaApp.Models.VO; namespace MinhaApp.DataContext { public class MinhaDB : System.Data.Linq.DataContext { /*public MinhaDB(string connectionString) : base(connectionString) { //nothing here }*/ private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource(); /* #region Extensibility Method Definitions partial void OnCreated(); #endregion */ public MinhaDB(string connection) : base(connection, mappingSource) { //OnCreated(); } public MinhaDB(System.Data.IDbConnection connection) : base(connection, mappingSource) { //OnCreated(); } public MinhaDB(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource) { //OnCreated(); } public MinhaDB(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource) { //OnCreated(); } public Table<Usuario> Usuario; } }
09/11/2011
Paulo
Segue abaixo a solução. Só não esqueçam de fazer o mapeamento (annotations) dos campos da tabela com a classe da entidade (no caso aqui é Usuario). Obs forte: só rolou com SQLServer.
Obrigado pela atenção.
abs
using System.Data.Linq; using System.Data.Linq.Mapping; using System.Data; using System.Collections.Generic; using System.Reflection; using System.Linq; using System.Linq.Expressions; using System.ComponentModel; using System; using MinhaApp.Models.VO; namespace MinhaApp.DataContext { public class MinhaDB : System.Data.Linq.DataContext { /*public MinhaDB(string connectionString) : base(connectionString) { //nothing here }*/ private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource(); /* #region Extensibility Method Definitions partial void OnCreated(); #endregion */ public MinhaDB(string connection) : base(connection, mappingSource) { //OnCreated(); } public MinhaDB(System.Data.IDbConnection connection) : base(connection, mappingSource) { //OnCreated(); } public MinhaDB(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource) { //OnCreated(); } public MinhaDB(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource) { //OnCreated(); } public Table<Usuario> Usuario; } }