• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

soulbe

[SOLVED] System.Data.Linq

5 mensagens neste tópico

Boas.

Estou a tentar iniciar a programar em Linq, mas já estou a ter problemas de início.

Ora bem, consigo fazer, using System.Linq (o projecto está para usar a framework 3.5), mas quando quero fazer:

(...)

        [Database(Name = "Xpto")]

        public class P_xpto: DataContext {

            public  P_xpto(String connection) : base(connection) { }

            public Table<...> ....;

        }

(...)

Diz que me falta o namespace respectivo para aceder ao DataContext por exemplo. Teria de colocar using System.Data.Linq. O problema é que em System.Data...nao me aparece Linq! 

Desde já agradeço a quem me puder explicar o que eventualmente vou ter de mudar no projecto!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a confundir duas coisas. Uma é o Linq outra é o Linq to Sql que assenta sobre o Linq.

Sempre que crias um projecto no VS2008 automaticamente adiciona às referências System.Core.dll que é onde está o Linq. É por isso que vês o namespace System.Linq.

Para usares o Linq to Sql tens de referenciar o System.Data.Linq.dll

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vitortomaz, a ideia seria usar a classe DataContext contida no assembly System.Data.Linq.dll referido pelo Betovsky, sendo que na minha classe, descendente de dataContext, a ideia seria criar a connection como tenho aqui neste exemplo:


[Database(Name="AdventureWorks")]
public class AdventureWorks : DataContext
{
     public AdventureWorks(string connection) : base(connection) {}
     public Table<DirectoryInformation> DirectoryInformation;
}
[Table(Name="DirectoryInformation")]
public class DirectoryInformation
{
     [Column(DbType="varchar(50)")]
     public string DirectoryName;
     [Column(DbType = "varchar(255)")]
     public string DirectoryDescription;
}

AdventureWorks db = new AdventureWorks("Integrated Security=sspi");
foreach (var item in db.DirectoryInformation)
     listBox1.Items.Add(item.DirectoryName + " " +item.DirectoryDescription);

Betovsky, e para referenciar o System.Data.Linq.dll nao teria apenas de fazer o using System.Data.Linq??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como o Betovsky disse, adicionar a referencia.

Right click  in your project in solution explorer > add "System.Data.Linq" .NET assembly"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora