Fórum Linq to SQL na mão #409177
08/11/2011
0
Obrigado!
Paulo
Curtir tópico
+ 0Posts
08/11/2011
Victor Fructuoso
Gostei + 0
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!
Gostei + 0
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;
}
}
Gostei + 0
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;
}
}
Gostei + 0