How to specify nested type form, LocalMethodCall form, Distinct form in LINQ to SQL statement
This article is about how to specify nested type form, LocalMethodCall form, and Distinct form in LINQ to SQL statements. The editor thinks it is very practical, so share it with you as a reference and follow the editor to have a look.
1. Nested type form:
Description: there is another collection in each object DiscountedProducts property in the returned object set. That is, each object is also a collection class.
Var Q = from o in db.Orders select new {o.OrderID, DiscountedProducts = from od in o.OrderDetails where od.Discount > 0.0 select od, FreeShippingDiscount = o.Freight}
2.LocalMethodCall form:
This example InternationalPhone calls the local method PhoneNumberConverter
Var Q = from c in db.Customers where c.Country = = "UK" | | c.Country = = "USA" select new {c.CustomerID, c.CompanyName, Phone = c.Phone, InternationalPhone = PhoneNumberConverter (c.Country, c.Phone)}
The PhoneNumberConverter method is as follows:
Public string PhoneNumberConverter (string Country, string Phone) {PhonePhone = Phone.Replace ("", "). Replace (") ",")-"); switch (Country) {case" USA ": return" 1-"+ Phone; case" UK ": return" 44-"+ Phone; default: return Phone;}}
This method is also used below.
XDocument doc = new XDocument (new XElement ("Customers", from c in db.Customers where c.Country = = "UK" | | c.Country = = "USA" select (new XElement ("Customer", new XAttribute ("CustomerID", c.CustomerID), new XAttribute ("CompanyName", c.CompanyName), new XAttribute ("InterationalPhone", PhoneNumberConverter (c.Country, c.Phone))}
3.Distinct form:
Description: filter different values in the field. Used to query result sets that are not duplicated. Generate the SQL statement as follows: SELECT DISTINCT [City] FROM [Customers]
Var Q = (from c in db.Customers select c.City) .Distinct (); Thank you for reading! This is the end of this article on "how to specify nested type form, LocalMethodCall form and Distinct form in LINQ to SQL sentence". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, you can share it out for more people to see!