Array
(
)

Linq to SQL na mão

Paulo
   - 08 nov 2011

Alguém sabe onde encontro ou tem informações de como configurar o Linq sem interface gráfica?
Obrigado!

Victor Fructuoso
   - 08 nov 2011

De que nivel de configuração estamos falando? Definir endereço de servidor, usuário, senha? Se for isso na própria classe do linq você pode setar essas propriedades.

Paulo
   - 08 nov 2011

Então, é uma aplicação web (asp.net mvc 3) onde já tenho uma classe de conexão e consigo buscar dados do banco (tudo configurado a parte da aplicação com o banco).

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!

Paulo
   - 09 nov 2011


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

#Código

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;

    }
}

Paulo
   - 09 nov 2011

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). Obs forte: só rolou com SQLServer.

Obrigado pela atenção.
abs

#Código

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;

    }
}