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

soulbe

[Resolvido] System.Data.Linq

Recommended Posts

soulbe

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!

Share this post


Link to post
Share on other sites
Betovsky

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


"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Share this post


Link to post
Share on other sites
soulbe

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??

Share this post


Link to post
Share on other sites
soulbe

Como o Betovsky disse, adicionar a referencia.

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.