āĻā§āĻŽāĻŋāĻāĻž
Đ
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻā§āĻĄ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻ°āĻ āĻāĻŋāĻā§ āĻĒāĻ¨ā§āĻĨāĻž āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŋ LINQ āĻĒā§āĻ°āĻļā§āĻ¨.
āĻāĻāĻž āĻāĻžāĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻ¨āĻā§āĻ(Language-Integrated Query) āĻāĻāĻāĻŋ āĻ¤āĻĨā§āĻ¯ āĻā§āĻ¸ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻŦāĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻāĻžāĻˇāĻžāĨ¤
Đ SQL āĻĨā§āĻā§ LINQ āĻāĻāĻāĻŋ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸ā§ āĻĄā§āĻāĻž āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĨ¤ āĻāĻāĻŋ āĻĄā§āĻāĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻā§āĻ˛, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻā§āĻˇāĻŖāĻžāĻŽā§āĻ˛āĻ āĻāĻžāĻˇāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻĒāĻ°ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻŦā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻŦāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, DBMS āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŽāĻ°āĻž āĻŦā§āĻāĻžāĻ¯āĻŧ āĻāĻŽāĻāĻ¸ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°.
āĻ¯āĻžāĻāĻšā§āĻ, LINQ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦā§āĻļā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨, āĻ¯āĻž āĻāĻāĻāĻ¨ āĻ āĻāĻŋāĻā§āĻ DBA āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ¸āĻš āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ā§ˇ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨:
- āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ¸āĻāĻ¯ā§āĻ (JOIN) āĻāĻŦāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻŋāĻ (āĻā§āĻĨāĻžāĻ¯āĻŧ)
- āĻ¸āĻāĻ¯ā§āĻ āĻāĻŦāĻ āĻā§āĻ°ā§āĻĒ āĻļāĻ°ā§āĻ¤āĻžāĻŦāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž
- āĻļāĻ°ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ āĻ¨ā§āĻ āĻŦā§āĻāĻŋāĻ¤ā§āĻ° IN āĻāĻĒāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤Đ¸ āĻ¨āĻž, <> āĻāĻžāĻ˛ā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤
- āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻā§āĻŦāĻŋāĻ˛, CTE, āĻā§āĻŦāĻŋāĻ˛ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻ¯āĻžāĻļāĻŋāĻ
- āĻŦāĻžāĻā§āĻ¯ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° (āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ OPTION) āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻŦāĻ āĻā§āĻŦāĻŋāĻ˛ āĻāĻā§āĻāĻŋāĻ¤ āĻ¸āĻš āĻ¸āĻā§āĻā§ (...)
- āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻ°āĻŋāĻĄāĻŋāĻ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻ āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž
āĻĢāĻ˛ā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻžāĻ§āĻž āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ LINQ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻāĻā§āĻ˛āĻŋ āĻšāĻ˛:
- āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻ¸āĻŽāĻā§āĻ° āĻĄā§āĻāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻāĻ¤ā§āĻ°ā§āĻāĻ°āĻŖ
- āĻā§āĻĄā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻŦā§āĻ˛āĻā§āĻ° āĻ¨āĻāĻ˛, āĻ¯āĻž āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻāĻžāĻ§āĻŋāĻ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ
- āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻāĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻā§āĻ°ā§āĻĒ (āĻ¯ā§āĻā§āĻ¤āĻŋāĻ "āĻāĻŦāĻ" āĻāĻŦāĻ "āĻŦāĻž") - āĻāĻŦāĻ и OR, āĻāĻāĻŋāĻ˛ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž, āĻāĻ āĻ¸āĻ¤ā§āĻ¯ā§āĻ° āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻāĻžāĻ°, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻ¨-āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻĄ āĻ¸ā§āĻāĻ āĻĨāĻžāĻāĻž, āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻ¯ā§āĻā§āĻ¤ āĻ¸ā§āĻāĻā§āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°ā§ (āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨) āĻļāĻ°ā§āĻ¤ā§āĻ° āĻā§āĻ°ā§āĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž
- āĻ¸āĻžāĻŦāĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻ° āĻāĻā§āĻ° āĻ¨ā§āĻ¸ā§āĻāĻŋāĻ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻāĻā§ āĻā§āĻŦ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻāĻŦāĻ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻĒāĻā§āĻˇ āĻĨā§āĻā§ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻ° āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻŦāĻ DBA
āĻ āĻ¨ā§āĻā§āĻ˛āĻāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻāĻāĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤
1) āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻ¨āĻĄā§āĻā§āĻ¸āĻŋāĻ
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻ¸āĻžāĻ°āĻŖā§āĻ¤ā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻĒā§āĻ°ā§ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋ āĻāĻ āĻŦāĻž āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻā§āĻŦāĻŋāĻ˛ (āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨-āĻ˛ā§āĻ-āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨) āĻāĻŦāĻ āĻļāĻ°ā§āĻ¤āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨āĻ āĻ¸ā§āĻ (IsClosed, Canceled, Enabled, Status) āĻāĻ° āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ¨āĻŽā§āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¸ā§āĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋ āĻŦā§āĻ§āĻāĻŽā§āĻ¯ āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻž āĻ¸ā§āĻāĻāĻŋāĻā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻžāĻĻā§āĻ° 500000 āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 2000 āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻ¸ā§āĻāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĨā§āĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻŦā§ āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻā§āĻŦāĻŋāĻ˛ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻĄ āĻ¸ā§āĻāĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĻā§āĻ°ā§āĻ¤ āĻĄā§āĻāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§āĨ¤
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻŋāĻ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻŽā§āĻĒāĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻāĻā§āĻ° āĻ āĻāĻžāĻŦ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻāĻ¸ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°:
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻ āĻĄā§āĻāĻžāĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻŋāĻ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ
āĻ¯āĻžāĻāĻšā§āĻ, āĻ¸ā§āĻā§ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻļāĻŋāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻāĻžāĻ°āĻžāĻĒāĻāĻžāĻŦā§ āĻ˛ā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§ āĻ˛āĻĄāĻŧāĻžāĻ āĻāĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ LINQ āĻĒā§āĻ°āĻļā§āĻ¨ и āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨.
āĻā§āĻŦāĻ¨ā§āĻ° āĻāĻ ā§āĻ° āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ āĻĻā§āĻāĻžāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĨ¤ āĻāĻŦāĻ āĻ¸ā§āĻāĻāĻ¨ā§āĻ¯, āĻāĻžāĻ°ā§ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻā§āĻ¯āĻžāĻļāĻŋāĻ āĻ¸āĻš āĻĒāĻāĻā§āĻŽāĻŋāĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻŋ āĻāĻāĻļāĻŋāĻāĻāĻžāĻŦā§ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧāĻ¸āĻā§āĻāĻ¤, āĻ¯ā§āĻšā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻĄā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻļā§āĻ˛āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°āĻšāĻŖāĻ¯ā§āĻā§āĻ¯ āĻ¸ā§āĻ¤āĻ° āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°ā§āĨ¤
āĻāĻāĻž āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻ¯ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻā§ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻāĻŽāĻāĻ¸ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ āĻā§āĻ˛ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻļāĻ°ā§āĻ¤āĻžāĻŦāĻ˛ā§ āĻ¸āĻš:
- āĻ¯āĻĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¸ā§āĻ āĻ¸āĻš āĻ¸ā§āĻā§ āĻĨāĻžāĻā§
- āĻ¯āĻĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻāĻ¨ā§āĻĄā§āĻā§āĻ¸āĻŋāĻ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻ¸ā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ (āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§)
āĻāĻāĻžāĻ¨ā§ ).
2) āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžā§ˇ
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻĨā§āĻā§ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°, āĻ¯āĻž āĻļāĻ°ā§āĻ¤āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻĒā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻ¸āĻ¤ā§āĻ¯, āĻ¯ā§āĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻ āĻŦāĻž āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻšāĻ¯āĻŧāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
āĻŦāĻ¨ā§āĻ§ = 0 āĻāĻŦāĻ āĻŦāĻžāĻ¤āĻŋāĻ˛ = 0 āĻāĻŦāĻ āĻ¸āĻā§āĻˇāĻŽ = 0 āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ āĻŦāĻ¸ā§āĻĨāĻž = 1.
āĻāĻāĻžāĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ¤ā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸āĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ°āĻŖāĻŋāĻ¤ā§ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§, āĻāĻ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¸ā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻāĻāĻŋ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻāĻāĻŋ āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻāĻžāĻ°āĻŖ āĻāĻŽāĻ°āĻž āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻŖāĻ¨āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻĄā§āĻāĻž āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻŋāĨ¤
3) āĻĻā§āĻļā§āĻ¯ā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻāĻ¤ā§āĻāĻ°āĻŖ
āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤ LINQ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻā§āĻŦāĻŋāĻ˛, CTE, āĻāĻŦāĻ āĻā§āĻŦāĻŋāĻ˛ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻžāĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻā§ - āĻ¸ā§āĻā§āĻā§āĻ¤ āĻāĻŋāĻāĨ¤
āĻļāĻ°ā§āĻ¤ āĻā§āĻ°ā§āĻĒ (āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§āĻā§) āĻŦāĻ¨ā§āĻ§ = 0 āĻāĻŦāĻ āĻŦāĻžāĻ¤āĻŋāĻ˛ = 0 āĻāĻŦāĻ āĻ¸āĻā§āĻˇāĻŽ = 0 (āĻ āĻĨāĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ) āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ¸ā§āĻ āĻĨā§āĻā§ āĻĄā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻā§āĻ¯āĻžāĻļ āĻāĻ°ā§, āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻĻā§āĻļā§āĻ¯ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻĻā§āĻļā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻļ āĻāĻŋāĻā§ āĻŦāĻŋāĻ§āĻŋāĻ¨āĻŋāĻˇā§āĻ§ āĻ°āĻ¯āĻŧā§āĻā§:
- subqueries āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻ§āĻžāĻ°āĻž āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ JOIN
- āĻāĻĒāĻ¨āĻŋ āĻŦāĻžāĻā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻŽāĻŋāĻ˛āĻ¨, āĻāĻāĻ¨āĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻŦ, āĻāĻžāĻĄāĻŧ, āĻāĻ¨ā§āĻāĻžāĻ°āĻ¸ā§āĻ¯āĻžāĻā§āĻ
- āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻāĻā§āĻāĻŋāĻ¤ āĻāĻŦāĻ āĻ§āĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ OPTION
- āĻāĻā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻ¨ā§āĻ
- āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻā§āĻŦāĻŋāĻ˛ āĻĨā§āĻā§ āĻāĻ āĻāĻŋāĻāĻ¤ā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻž āĻ āĻ¸āĻŽā§āĻāĻŦ
āĻāĻāĻž āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻĻā§āĻļā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻ¸ā§āĻā§āĻāĻ°āĻŖā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž, āĻāĻŦāĻ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¸āĻā§āĻā§ (NOEXPAND).
ā§§ Since āĻ¸āĻžāĻ˛ āĻĨā§āĻā§ LINQ āĻĒā§āĻ°āĻļā§āĻ¨ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻā§āĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻ āĻ¸āĻŽā§āĻāĻŦ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ - āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻāĻāĻŋ "āĻ°ā§āĻ¯āĻžāĻĒāĻžāĻ°":
CREATE VIEW ĐĐĐ¯_ĐŋŅĐĩĐ´ŅŅавĐģĐĩĐŊиŅ AS SELECT * FROM MAT_VIEW WITH (NOEXPAND);
4) āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻŽāĻ§ā§āĻ¯ā§ LINQ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¸āĻžāĻŦāĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻ° āĻŦāĻĄāĻŧ āĻŦā§āĻ˛āĻ āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻāĻŋāĻ˛ āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻāĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ¸āĻžāĻŦāĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻ˛ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŽā§āĻ˛ āĻ¸ā§āĻŦāĻŋāĻ§āĻž LINQ āĻĒā§āĻ°āĻļā§āĻ¨:
- āĻā§āĻˇāĻŽāĻ¤āĻž, āĻĻā§āĻļā§āĻ¯ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻĒā§āĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ (@param1, @param2 ...)
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻ¸ā§āĻ¯āĻžāĻŽā§āĻĒāĻ˛āĻŋāĻ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ - āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻĻā§āĻļā§āĻ¯ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ¨ āĻā§āĻ¨ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻŦāĻŋāĻ§āĻŋāĻ¨āĻŋāĻˇā§āĻ§ āĻ¨ā§āĻ:
- āĻā§āĻŦāĻŋāĻ˛ āĻāĻā§āĻāĻŋāĻ¤:
āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻŋāĻ¨āĻā§āĻ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻ¸ā§āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĄā§āĻāĻž āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻ¸ā§āĻ¤āĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ āĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻā§.
āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻāĻāĻ¸ā§āĻ˛ā§āĻļāĻ¨ āĻ˛ā§āĻā§āĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ - āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¸ā§āĻā§āĻā§āĻ¤ āĻĻā§āĻļā§āĻ¯ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§, āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ:
- āĻāĻāĻŋāĻ˛ āĻĄā§āĻāĻž āĻ¸ā§āĻ¯āĻžāĻŽā§āĻĒāĻ˛āĻŋāĻ āĻ˛āĻāĻŋāĻ (āĻāĻŽāĻ¨āĻāĻŋ āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§)
- āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻā§āĻŦāĻŋāĻ˛ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻāĻ¨āĻž āĻšāĻā§āĻā§
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻŽāĻŋāĻ˛āĻ¨ и āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤
- āĻā§āĻŦāĻŋāĻ˛ āĻāĻā§āĻāĻŋāĻ¤:
- āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ OPTION āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¯ā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨ āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŦāĻŋāĻāĻ˛ā§āĻĒ (MAXDOP N), āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻ° āĻā§āĻ°āĻŽāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
- āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°āĻĒā§āĻ°ā§āĻŦāĻ āĻĒā§āĻ¨āĻāĻ¸ā§āĻˇā§āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒ (āĻĒā§āĻ¨āĻāĻāĻŽā§āĻĒāĻžāĻāĻ˛)
- āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§āĻ¤ā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻŋāĻ¤ āĻ¯ā§āĻāĻĻāĻžāĻ¨ā§āĻ° āĻāĻĻā§āĻļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨āĻā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒ (āĻĢā§āĻ°ā§āĻ¸ āĻ āĻ°ā§āĻĄāĻžāĻ°)
āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ OPTION āĻŦāĻ°ā§āĻŖāĻŋāĻ¤
āĻāĻāĻžāĻ¨ā§ . - āĻ¸āĻāĻā§āĻ°ā§āĻŖ āĻāĻŦāĻ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§:
āĻā§āĻ¯āĻžāĻļā§ āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āĻ¸ā§āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ (āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§), āĻ¯ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻ¨āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§āĻāĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻāĻā§ āĻ¯āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ (a, b, c).āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤āĻāĻžāĻŦā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻāĻāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻāĻā§ a = 0 āĻāĻŦāĻ b = 0.
āĻ¤āĻŦā§ āĻŽāĻžāĻ ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻ§ c āĻāĻ°ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛āĨ¤
āĻļāĻ°ā§āĻ¤ āĻ¯āĻžāĻ a = 0 āĻāĻŦāĻ b = 0 āĻāĻāĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸ā§āĻ āĻšāĻžāĻāĻžāĻ° āĻšāĻžāĻāĻžāĻ° āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļāĻ°ā§āĻ¤ āĻāĻžāĻ˛ā§ āĻāĻā§ Ņ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨āĻā§ āĻāĻāĻļā§ āĻ°ā§āĻāĻ°ā§āĻĄā§ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĨ¤
āĻāĻāĻžāĻ¨ā§ āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ°āĻ āĻ āĻ¨ā§āĻŽāĻžāĻ¨āĻ¯ā§āĻā§āĻ¯ āĻāĻŦāĻ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĻā§āĻāĻŋāĨ¤
āĻāĻāĻāĻž āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨, āĻ¯āĻž āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛āĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ (āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨), āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ āĻ§āĻŋāĻā§āĻā§āĻ¤āĻŋ āĻāĻŽā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤) āĻĨā§āĻā§ "āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨":
āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¨āĻ 1
(@p__linq__0 nvarchar(4000))SELECT
1 AS [C1],
[Extent1].[Id] AS [Id],
[Join2].[Object_Id] AS [Object_Id],
[Join2].[ObjectType_Id] AS [ObjectType_Id],
[Join2].[Name] AS [Name],
[Join2].[ExternalId] AS [ExternalId]
FROM [dbo].[Questions] AS [Extent1]
INNER JOIN (SELECT [Extent2].[Object_Id] AS [Object_Id],
[Extent2].[Question_Id] AS [Question_Id], [Extent3].[ExternalId] AS [ExternalId],
[Extent3].[ObjectType_Id] AS [ObjectType_Id], [Extent4].[Name] AS [Name]
FROM [dbo].[ObjectQuestions] AS [Extent2]
INNER JOIN [dbo].[Objects] AS [Extent3] ON [Extent2].[Object_Id] = [Extent3].[Id]
LEFT OUTER JOIN [dbo].[ObjectTypes] AS [Extent4]
ON [Extent3].[ObjectType_Id] = [Extent4].[Id] ) AS [Join2]
ON [Extent1].[Id] = [Join2].[Question_Id]
WHERE ([Extent1].[AnswerId] IS NULL) AND (0 = [Extent1].[Exp]) AND ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[OperativeQuestions] AS [Extent5]
WHERE (([Extent5].[Email] = @p__linq__0) OR (([Extent5].[Email] IS NULL)
AND (@p__linq__0 IS NULL))) AND ([Extent5].[Id] = [Extent1].[Id])
));
āĻāĻŋāĻāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻŦāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻāĻ āĻ¨ āĻ°āĻ¯āĻŧā§āĻā§: āĻāĻ¤ā§ āĻ¸āĻžāĻŦāĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻ¯ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻŦāĻžāĻāĻžāĻ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°, āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ-āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĨ¤
OperativeQuestions āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻŽā§āĻ¨āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĻāĻļ āĻšāĻžāĻāĻžāĻ° āĻ°ā§āĻāĻ°ā§āĻĄ.
āĻāĻ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§ āĻŦāĻžāĻāĻ°ā§āĻ° āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĨā§āĻā§ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ¸āĻžāĻŦāĻā§āĻ¯āĻŧā§āĻ°āĻŋ [OperativeQuestions] āĻāĻŋāĻāĻ¤ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž [āĻāĻŽā§āĻ˛] = @p__linq__0 āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ (āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤) āĻļāĻ¤ āĻļāĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤
āĻāĻŦāĻ āĻāĻāĻž āĻŽāĻ¨ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻ¸āĻžāĻŦāĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻ° āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻāĻŦāĻžāĻ° [āĻāĻŽā§āĻ˛] = @p__linq__0 āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻāĻ¯āĻŧā§āĻāĻļ āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻĄāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻāĻŦāĻ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻŦā§ā§ˇ
āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻā§āĻ°āĻŽāĻŋāĻ āĻ¸āĻāĻ¯ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§: āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨā§āĻā§ āĻāĻāĻĄāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻĄāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻāĻŦāĻ āĻāĻŽā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻžāĨ¤
āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻšāĻžāĻāĻžāĻ° āĻšāĻžāĻāĻžāĻ° āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻŽā§āĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻā§āĻ°āĻšā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒāĻžāĻ ā§āĻ¯ āĻĻā§āĻā§āĻ¨:
āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¨āĻ 2
CREATE VIEW [dbo].[OperativeQuestions]
AS
SELECT DISTINCT Q.Id, USR.email AS Email
FROM [dbo].Questions AS Q INNER JOIN
[dbo].ProcessUserAccesses AS BPU ON BPU.ProcessId = CQ.Process_Id
OUTER APPLY
(SELECT 1 AS HasNoObjects
WHERE NOT EXISTS
(SELECT 1
FROM [dbo].ObjectUserAccesses AS BOU
WHERE BOU.ProcessUserAccessId = BPU.[Id] AND BOU.[To] IS NULL)
) AS BO INNER JOIN
[dbo].Users AS USR ON USR.Id = BPU.UserId
WHERE CQ.[Exp] = 0 AND CQ.AnswerId IS NULL AND BPU.[To] IS NULL
AND (BO.HasNoObjects = 1 OR
EXISTS (SELECT 1
FROM [dbo].ObjectUserAccesses AS BOU INNER JOIN
[dbo].ObjectQuestions AS QBO
ON QBO.[Object_Id] =BOU.ObjectId
WHERE BOU.ProcessUserAccessId = BPU.Id
AND BOU.[To] IS NULL AND QBO.Question_Id = CQ.Id));
DbContext-āĻ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻāĻŋāĻ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ (EF āĻā§āĻ° 2)
public class QuestionsDbContext : DbContext
{
//...
public DbQuery<OperativeQuestion> OperativeQuestions { get; set; }
//...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<OperativeQuestion>().ToView("OperativeQuestions");
}
}
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ LINQ āĻĒā§āĻ°āĻļā§āĻ¨
var businessObjectsData = await context
.OperativeQuestions
.Where(x => x.Email == Email)
.Include(x => x.Question)
.Select(x => x.Question)
.SelectMany(x => x.ObjectQuestions,
(x, bo) => new
{
Id = x.Id,
ObjectId = bo.Object.Id,
ObjectTypeId = bo.Object.ObjectType.Id,
ObjectTypeName = bo.Object.ObjectType.Name,
ObjectExternalId = bo.Object.ExternalId
})
.ToListAsync();
āĻāĻ āĻŦāĻŋāĻļā§āĻˇ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§āĻāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻāĻŋ, āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¸āĻžāĻ°āĻŖā§ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻāĻ°ā§ ("āĻ ā§āĻ¯āĻžāĻāĻāĻŋāĻ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ"), āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻĄā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻĒ āĻā§ āĻĄā§āĻ āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§āĨ¤ .
āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻŽā§āĻ˛ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻšāĻ˛ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻ āĻĨā§āĻā§ [āĻāĻŽā§āĻ˛] = @p__linq__0 āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻā§āĻ¯āĻžāĻļā§ āĻāĻ°āĻžāĨ¤
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ [āĻĄāĻŋāĻŦāĻŋāĻ] [āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻāĻāĻžāĻ°āĻŽā§āĻ˛] āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻāĻŋ āĻāĻ¨āĻĒā§āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŽā§āĻ˛ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻŽāĻ°āĻž āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻĢāĻŋāĻ°ā§ āĻĒāĻžāĻ:
āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¨āĻ 3
CREATE FUNCTION [dbo].[OperativeQuestionsUserMail]
(
@Email nvarchar(4000)
)
RETURNS
@tbl TABLE
(
[Id] uniqueidentifier,
[Email] nvarchar(4000)
)
AS
BEGIN
INSERT INTO @tbl ([Id], [Email])
SELECT Id, @Email
FROM [OperativeQuestions] AS [x] WHERE [x].[Email] = @Email;
RETURN;
END
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¸āĻš āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
OperativeQuestionsUserMail-āĻāĻ° āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻšāĻ¤ā§ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻāĻ ā§āĻ° āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŦāĻ āĻ¨āĻ¯āĻŧ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻŦāĻŋāĻ˛ āĻĢā§āĻ°āĻ¤...
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ 1 āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ 4 āĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ:
āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¨āĻ 4
(@p__linq__0 nvarchar(4000))SELECT
1 AS [C1],
[Extent1].[Id] AS [Id],
[Join2].[Object_Id] AS [Object_Id],
[Join2].[ObjectType_Id] AS [ObjectType_Id],
[Join2].[Name] AS [Name],
[Join2].[ExternalId] AS [ExternalId]
FROM (
SELECT Id, Email FROM [dbo].[OperativeQuestionsUserMail] (@p__linq__0)
) AS [Extent0]
INNER JOIN [dbo].[Questions] AS [Extent1] ON([Extent0].Id=[Extent1].Id)
INNER JOIN (SELECT [Extent2].[Object_Id] AS [Object_Id], [Extent2].[Question_Id] AS [Question_Id], [Extent3].[ExternalId] AS [ExternalId], [Extent3].[ObjectType_Id] AS [ObjectType_Id], [Extent4].[Name] AS [Name]
FROM [dbo].[ObjectQuestions] AS [Extent2]
INNER JOIN [dbo].[Objects] AS [Extent3] ON [Extent2].[Object_Id] = [Extent3].[Id]
LEFT OUTER JOIN [dbo].[ObjectTypes] AS [Extent4]
ON [Extent3].[ObjectType_Id] = [Extent4].[Id] ) AS [Join2]
ON [Extent1].[Id] = [Join2].[Question_Id]
WHERE ([Extent1].[AnswerId] IS NULL) AND (0 = [Extent1].[Exp]);
DbContext (EF āĻā§āĻ° 2) āĻ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ āĻāĻŋāĻ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāĻ¨
public class QuestionsDbContext : DbContext
{
//...
public DbQuery<OperativeQuestion> OperativeQuestions { get; set; }
//...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<OperativeQuestion>().ToView("OperativeQuestions");
}
}
public static class FromSqlQueries
{
public static IQueryable<OperativeQuestion> GetByUserEmail(this DbQuery<OperativeQuestion> source, string Email)
=> source.FromSql($"SELECT Id, Email FROM [dbo].[OperativeQuestionsUserMail] ({Email})");
}
āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ LINQ āĻĒā§āĻ°āĻļā§āĻ¨
var businessObjectsData = await context
.OperativeQuestions
.GetByUserEmail(Email)
.Include(x => x.Question)
.Select(x => x.Question)
.SelectMany(x => x.ObjectQuestions,
(x, bo) => new
{
Id = x.Id,
ObjectId = bo.Object.Id,
ObjectTypeId = bo.Object.ObjectType.Id,
ObjectTypeName = bo.Object.ObjectType.Name,
ObjectExternalId = bo.Object.ExternalId
})
.ToListAsync();
āĻāĻžāĻ°ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ 200-800 ms āĻĨā§āĻā§ 2-20 ms, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ¤ā§ āĻ¨ā§āĻŽā§ āĻāĻ¸ā§āĻā§, āĻ āĻ°ā§āĻĨāĻžā§ āĻĻāĻļāĻā§āĻŖ āĻĻā§āĻ°ā§āĻ¤āĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻāĻ°āĻ āĻāĻĄāĻŧāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ, āĻ¤āĻžāĻšāĻ˛ā§ 350 ms āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž 8 ms āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤
āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻāĻŽāĻ°āĻžāĻ āĻĒāĻžāĻ:
- āĻĒāĻĄāĻŧāĻžāĻ° āĻ˛ā§āĻĄā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻšā§āĻ°āĻžāĻ¸,
- āĻŦā§āĻ˛āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻšā§āĻ°āĻžāĻ¸
- āĻā§āĻ°āĻšāĻŖāĻ¯ā§āĻā§āĻ¯ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻĄāĻŧ āĻŦā§āĻ˛āĻāĻŋāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻž
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻāĻ˛ā§āĻ° āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻĢāĻžāĻāĻ¨-āĻāĻŋāĻāĻ¨āĻŋāĻ āĻāĻŽāĻāĻ¸ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻŋāĻ¨āĻā§āĻ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ āĻāĻžāĻā§ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻāĻŦāĻ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻāĻ¤āĻž āĻā§āĻŦāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĨ¤
āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻļā§āĻ°ā§āĻ¤ā§:
- āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻĄā§āĻāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ (āĻŽāĻžāĻ¨, āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻāĻžāĻ°)
- āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ āĻŋāĻ āĻ¸ā§āĻā§ āĻŦāĻšāĻ¨
- āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻāĻĻāĻžāĻ¨ā§āĻ° āĻļāĻ°ā§āĻ¤āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻ āĻŋāĻāĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§:
- āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§
- āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻŦā§āĻ˛āĻ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻŦāĻ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻā§āĻĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ
- āĻāĻ° āĻāĻ¨ā§āĻ¯ SSMS āĻŦāĻž āĻ āĻ¨ā§āĻ¯ GUI-āĻ¤ā§ SQL āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¨āĻŋāĻā§āĻā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°ā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ (āĻāĻāĻāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§ āĻĄā§āĻāĻž āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž, āĻāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž (āĻāĻāĻžāĻ¨ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§))
- āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ°āĻšāĻŖ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ, āĻāĻžāĻ āĻžāĻŽā§ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž āĻšāĻā§āĻā§ LINQ āĻĒā§āĻ°āĻļā§āĻ¨
āĻĢāĻ˛ā§ LINQ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ āĻ¨ā§āĻā§āĻ˛ āĻĨā§āĻā§ āĻāĻ āĻ¨ āĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§ āĻšāĻŦā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ 3 āĻĨā§āĻā§āĨ¤
āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋ
āĻ¸āĻšāĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻ
āĻ¨ā§āĻ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ
āĻāĻ¤ā§āĻ¸: www.habr.com