Solved

Create a non-anonymous "select new" in LINQ to SQL

Posted on 2009-06-30
3
566 Views
Last Modified: 2013-11-11
This is really a two part question,

1) How do you do an "AND" clause in a join (see code snippet)

2) How do I take my "select new" results and turn it so I can return it as either a non-anonymous type or return it as a list.
0
Comment
Question by:bryan_z
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 63

Accepted Solution

by:
Fernando Soto earned 125 total points
ID: 24748641
Hi bryan_z;

Not sure if this is what you are asking for question 1 if not post your example so that I can have a better idea, see code snippet below.

In answer to 2 you create a class with public properties with the names of the variables in the select statement, see code snippet 2 below.

Fernando
DataClasses1DataContext db = new DataClasses1DataContext();
 
// Query was copied from Microsoft Documentation with small modification
List<MyResults> query = (from o in db.Orders
                         from p in db.Products
                         join d in db.Order_Details
                         on new { o.OrderID, p.ProductID } equals new
                         {
                             d.OrderID,
                             d.ProductID
                         } into details
                         from d in details
                         select new MyResults
                         {
                             OrderID = o.OrderID,
                             ProductID = p.ProductID,
                             UnitPrice = d.UnitPrice
                         }).ToList();
 
foreach (MyResults mr in query)
{
    Console.WriteLine("OID = {0}  PID = {1}  UC = {2}",
        mr.OrderID, mr.ProductID, mr.UnitPrice);
}
 
 
public class MyResults
{
    public int OrderID { get; set;  }
    public int ProductID { get; set; }
    public decimal UnitPrice { get; set; }
}

Open in new window

0
 

Author Closing Comment

by:bryan_z
ID: 31598461
Thanks. I thought i had posted the code example. Your example was great and just what I was looking for
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 24749203
Not a problem, glad I was able to help.  ;=)
0

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question