LINQ CTP (May 2006) is here!

We have the new CTP for you on the LINQ home page.

There is one combined MSI for VB and C# developers that contains plenty of goodies: lots of features that you had requested and we had planned in VB, C#, System.Query, DLinq and XLinq. New component - LINQ over DataSet. New samples, visualizers.

I will leave it to you to explore the details and give us feedback.

Thanks for your interest and excitement since last PDC. This is what keeps us going.

Dinesh Kulkarni

Program Manager - The LINQ Project




Answer this question

LINQ CTP (May 2006) is here!

  • MetaFunk

  • zeihor

    This is awesome!

    This is the first time I've played with LINQ. I haven't been this psyched about a new Microsoft technology since the inception of .NET.

    Nice work.


  • Wraith10

    No, this does not work the way I think it should. Maybe in some cases you might want to do it that way, but, in many cases I think you should support true many to many and you shouldn't have to map the intermediate table to a class. Other ORMs such as NHibernate, Hibernate, and EJB 3.0 Persistence allow you to do this. What I want to be able to do is define my classes like the following.

    class Reservation
    {
    private IList<Item> items = new List<Item>();

    [Attribute marking this as a ManyToMany goes here...]
    public IList<Item> Items
    {
    get { return items; }
    set { items = value; }
    }
    }

    class Item
    {
    private IList<Reservation> reservations = new List<Reservation>();

    [Attribute marking this as a ManyToMany goes here...]
    public IList<Reservation> Reservations
    {
    get { return reservations; }
    set { reservations = value; }
    }
    }

    Please see the following to see how NHibernate does it.

    http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#assoc-bidirectional-join-m2m

    Lack of many to many support is a major black mark against DLinq IMHO. I'd like to switch to DLinq, but, if it is so lacking in features it looks like I may have to stick with NHibernate instead.

    Another thing that I think is important is to use interfaces for collection classes like NHibernate does. You should not have to use DLinq specific collections classes. You should be able to design your domain model independently of the ORM that you are using. In other words, I should be able to design my domain model so that I can switch between using DLinq and NHibernate if I wanted to.


  • Eric Litovsky

    As before, mapping many-to-many requires a class mapping to the table in the middle. So if you have Employee - Project relationship, you would need three classes corresponding to three tables in the database.

    Of course, the goal for the preview is to listen to your feedback - so does this work for you

    Thanks.
    Dinesh



  • Simon De Vries

    ...I think you should support true many to many and you shouldn't have to map the intermediate table to a class.

    On the other hand, having an intermediate (join) class seems like a good feature.   This can help in taking care of many use cases in a simple and fast way.  For example, it can help you add many-to-many relationships among existing entities without having to load those related entities.  Similarly, a direct operation on a join class can help in deleting unwanted relationships quickly and conveniently.  Some smart queries on the join class can easily reveal the count of related entities, again without having to load the related entities.  NJDX OR-Mapper supports this feature of join class for many-to-many relationships.

    -- Damodar Periwal
    http://www.softwaretree.com

     

     

     

     



  • Yael P

    Sorry, it's a bug in our hosting. Should be fixed for now.

    Now I will let you decide if C# is well supported or not :-)

    Dinesh Kulkarni
    (Program Manager - Visual C# Product Unit)



  • nirmal_babu

    I must say that the C# readme has extensive coverage of VB related documentation, or have you messed a bit up with the documentation or is C# poorly supported so to speak

    Best regards,

    Henrik Dahl


  • Kellyp

    Hi Dinesh!

    This is just beautiful and highly looked forward for! Do you have a separate url for the readme file so we may enjoy it before actually doing the installation

    Best regards,

    Henrik Dahl


  • www.qblchinese.com

    Those are just the readme files. There are updated overviews, C#3 specs, and the labs included with the install.



  • makweru

    Are many to many relationships supported yet i.e. where you don't have to an object for the link table. If not, is support for it planned


  • rsdata

    Yes, now it looks fine, Dinesh, but I'm still looking impatiently forward for your response to my challenges concerning transitivity for the composite pattern situation.

    Best regards,

    Henrik Dahl


  • LINQ CTP (May 2006) is here!