linq to sql Óï·¨ ѧϰ±Ê¼Ç ´æÒ»ÏÂ
Join²Ù×÷·û
ÊÊÓó¡¾°£ºÔÚÎÒÃÇ±í¹ØÏµÖÐÓÐÒ»¶ÔÒ»¹ØÏµ£¬Ò»¶Ô¶à¹ØÏµ£¬¶à¶Ô¶à¹ØÏµµÈ¡£¶Ô¸÷¸ö±íÖ®¼äµÄ¹ØÏµ£¬¾ÍÓÃÕâЩʵÏÖ¶Ô¶à¸ö±íµÄ²Ù×÷¡£
˵Ã÷£ºÔÚJoin²Ù×÷ÖУ¬·Ö±ðΪJoin(Join²éѯ), SelectMany(SelectÒ»¶Ô¶àÑ¡Ôñ)ºÍGroupJoin(·Ö×éJoin²éѯ)¡£
¸ÃÀ©Õ¹·½·¨¶ÔÁ½¸öÐòÁÐÖмüÆ¥ÅäµÄÔªËØ½øÐÐinner join²Ù×÷
SelectMany
˵Ã÷£ºÎÒÃÇÔÚд²éѯÓï¾äʱ£¬Èç¹û±»·Òë³ÉSelectManyÐèÒªÂú×ã2¸öÌõ¼þ¡£1£º²éѯÓï¾äÖÐûÓÐjoinºÍinto£¬2£º±ØÐë³öÏÖEntitySet¡£ÔÚÎÒÃÇ±í¹ØÏµÖÐÓÐÒ»¶ÔÒ»¹ØÏµ£¬Ò»¶Ô¶à¹ØÏµ£¬¶à¶Ô¶à¹ØÏµµÈ£¬ÏÂÃæ·Ö±ð½éÉÜһϡ£
1.Ò»¶Ô¶à¹ØÏµ(1 to Many)£º
var q =
from c in db.Customers
from o in c.Orders
where c.City == "London"
select o;Óï¾äÃèÊö£ºCustomersÓëOrdersÊÇÒ»¶Ô¶à¹ØÏµ¡£¼´OrdersÔÚCustomersÀàÖÐÒÔEntitySetÐÎʽ³öÏÖ¡£ËùÒÔµÚ¶þ¸öfromÊÇ´Óc.Orders¶ø²»ÊÇdb.OrdersÀï½øÐÐɸѡ¡£Õâ¸öÀý×ÓÔÚfrom×Ó¾äÖÐʹÓÃÍâ¼üµ¼º½Ñ¡ÔñÂ׶ؿͻ§µÄËùÓж©µ¥¡£
var q =
from p in db.Products
where p.Supplier.Country == "USA" && p.UnitsInStock == 0
select p;Óï¾äÃèÊö£ºÕâÒ»¾äʹÓÃÁËp.Supplier.CountryÌõ¼þ£¬¼ä½Ó¹ØÁªÁËSupplier±í¡£Õâ¸öÀý×ÓÔÚWhere×Ó¾äÖÐʹÓÃÍâ¼üµ¼º½É¸Ñ¡Æä¹©Ó¦ÉÌÔÚÃÀ¹úÇÒȱ»õµÄ²úÆ·¡£Éú³ÉSQLÓï¾äΪ£º
SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID],
[t0].[CategoryID],[t0].[QuantityPerUnit],[t0].[UnitPrice],
[t0].[UnitsInStock], [t0].[UnitsOnOrder],[t0].[ReorderLevel],
[t0].[Discontinued] from [dbo].[Products] AS [t0]
LEFT OUTER JOIN [dbo].[Suppliers] AS [t1] ON
[t1].[SupplierID] = [t0].[SupplierID]
WHERE ([t1].[Country] = @p0) AND ([t0].[UnitsInStock] = @p1)
-- @p0: Input NVarChar (Size = 3; Prec = 0; Scale = 0) [USA]
-- @p1: Input Int (Size = 0; Prec = 0; Scale = 0) [0]2.¶à¶Ô¶à¹ØÏµ(Many to Many)£º
var q =
from e in db.Employees
from et in e.EmployeeTerritories
where e.City == "Seattle"
select new
{
e.FirstName,
Ïà¹ØÎĵµ£º
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'CLR', 0
GO
-- To update the currently configured value for this feature.
......
ÏÂÎçÏòÊý¾Ý¿âSQL SERVERÖÐÓöµ½Ìí¼ÓͼƬÀàÐÍÊý¾ÝµÄÎÊÌ⣬±¾ÒÔΪÔÚ½çÃæ¹ÜÀíÆ÷ÖпÉÒÔÖ±½Ó£¨Í¨¹ýÖ¸¶¨Â·¾¶°ÑͼƬµÄÊý¾Ý±£´æÆðÀ´£©Ìí¼ÓͼƬȴ²»È»¡£ÍøÉÏËÑÁËÏÂÕÒµ½ÁËÏà¹ØµÄ½ÏרҵµÄ×ÊÁÏ£¬ÕûºÏ½â¶Áһϣº Á½ÖÖ·½·¨£º µÚÒ»¾ÍÊÇÔÚÊý¾Ý¿âÖд洢ͼƬµÄ·¾¶£¬È»ºóÔÚ³ÌÐòÖиù¾Ý¶ÁÈ¡µÄ·¾¶¶ÁȡͼƬ£»ÕâÖ ......
µÚÒ»ÖÖ°ì·¨£ºÏÈÑ¡Öгö´íµÄÊý¾Ý¿â→Ñ¡ÖÐÒÔºóÓÒ¼üµã»÷ÊôÐԻᵯ³öÊý¾Ý¿âÊôÐÔ ¶Ô»°¿ò→Ñ¡ÖÐÊý¾Ý¿âÊôÐÔ¶Ô»°¿òÖеÄÑ¡Ïî→°ÑÑ¡ÏîÖеÄÅÅÐò¹æÔòÉèÖóÉ:Chinese_PRC_90_CI_AS→×îºóµã»÷È·¶¨¼´¿É¡£
£¨×¢Ò⣺ÔÚÑ¡ÔñÊý¾Ý¿âÊôÐÔµÄʱºò±ØÐëÈ·±£ÄãËùÐ޸ĵÄÊý¾Ý¿âδ±»Ê¹ÓòſÉÒÔÐ޸ķñÔò»áʧ°ÜµÄ£©
µÚ¶þÖÖ°ì·¨£ºÊ×ÏÈ´ò¿ªÄã ......
--ÈÕÆÚת»»²ÎÊý,ÖµµÃÊÕ²Ø
select CONVERT(varchar, getdate(), 120)
2004-09-12 11:06:08
select convert(varchar(10),getdate() ,120)
----------
2009-04-09
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT(varchar(12) , get ......
Update Channel set Unit ='mg' ,
RunUpThreshold='10' ,
RunDownThreshold='10' ,
SafetyUpThreshold='10' ,
SafetyDownThreshold='10'
where Bridge='001' and DeviceCode='AS'
and SensorCode='001' and Supplement='N'
set £º ','
where: and ......