Linq to SQL na mão

08/11/2011

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

Paulo

Respostas

08/11/2011

Victor Fructuoso

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.
Responder Citar

08/11/2011

Paulo

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!
Responder Citar

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;

    }
}
Responder Citar

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). 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;

    }
}
[/quote]
Responder Citar