Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 610
  • Last Modified:

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

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
bryan_z
Asked:
bryan_z
  • 2
1 Solution
 
Fernando SotoRetiredCommented:
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
 
bryan_zAuthor Commented:
Thanks. I thought i had posted the code example. Your example was great and just what I was looking for
0
 
Fernando SotoRetiredCommented:
Not a problem, glad I was able to help.  ;=)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now