IBM Data Server LINQ Entity Framework Limitations
Known Limitations
-----------------
The following list has additional limitations specific to individual supported servers.
Note: Unless stated otherwise, the below limitations are applicable to all supported versions of the particular server type.
DB2 for Linux, Unix, and Windows
--------------------------------
1) var query = context.Employees.OfType<PreviousEmployee>();
2) var query = from e in context.Employees where e is DBModel.PreviousEmployee select e;
DB2 for IBM i
-------------
1) var query = from p in context.Products
group p by p.Category.CategoryID into g
select new
{
CategoryID = g.Key,
CheapestProducts = from p2 in g
where p2.UnitPrice == g.Min(p3 => p3.UnitPrice)
select p2
};
DB2 for z/OS
------------
1) var query = from p in context.Products
group p by p.Category.CategoryID into g
select new
{
g.Key,
MostExpensiveProducts = from p2 in g
where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)
select p2
};
1) var query = context.Employees.OfType<PreviousEmployee>();
2) var query = from e in context.Employees where e is DBModel.PreviousEmployee select e;
1) var query = from o in context.Orders
where o.ShipCity == "Seattle"
select o;
var result = query.First();
2) var mexico =
context.OrderDetails.Where(od => od.Order.ShipCountry == "Mexico").Select(od => od.Product);
var canada =
context.OrderDetails.Where(od => od.Order.ShipCountry == "Canada").Select(od => od.Product);
var query = mexico.Intersect(canada);
3) var query =
context.Customers.Select(e => e).Except(context.Orders.Where(o => o.ShipCountry == "Mexico").Select(o => o.Customer));
4) var query = context.Orders.Include("OrderDetails").Top("1");
5) var query = context.Orders.Include("OrderDetails").Include("OrderDetails.Product").Take(3).Select(o => o);
IBM Informix Dynamic Server
---------------------------
1) SELECT VALUE c2.c FROM
(SELECT c, ANYELEMENT(SELECT VALUE Count(o.OrderId) FROM c.Orders AS o) AS orderCount FROM
Customers AS c) AS c2 ORDER BY c2.orderCount
2) var query = from c in context.Customers
group c by c.Address.Region into g
select new
{
Region = g.Key,
FreightTotal = g
.SelectMany(c2 => c2.Orders)
.Sum(o => o.Freight)
};
3) SELECT VALUE c2.c FROM
(SELECT c, ANYELEMENT(SELECT VALUE Count(o.OrderId) FROM c.Orders AS o
WHERE Year(o.OrderDate) = 1996) AS orderCount FROM Customers AS c) AS c2
WHERE c2.OrderCount > 0 ORDER BY c2.orderCount";
4) var query = from p in context.Products
where p.OrderDetails.Count(od => od.Order.Customer.Address.Country == p.Supplier.Address.Country) > 2
select p;
1) var query = context.Employees.OfType<PreviousEmployee>();
2) var query = from e in context.Employees where e is DBModel.PreviousEmployee select e;
1) var query = from p in context.Products
group p by p.Category.CategoryID into g
select new
{
g.Key,
ExpensiveProducts = from p2 in g
where p2.UnitPrice > g.Average(p3 => p3.UnitPrice)
select p2
};
IBM UniVerse and UniData (U2) Data Servers
------------------------------------------
Due to U2 SQL engine limitations, the following features of LINQ to Entity are not supported in U2:
|
Browse Space |
Explore Confluence |
Your Account |
Add Content |
|
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.3.3 Build:#645 Feb 13, 2007) |