<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      EF4.1中詭異的GUID為空問題

            在用EF4.1過程中發現了一個非常詭異的GUID為空問題,不說廢話,直接看問題吧:

      測試表UserInfo(SQL SERVER 2008 R2):

       

      這里是建表SQL語句,供有興趣朋友測試:

      CREATE TABLE [dbo].[UserInfo](
          
      [ID] [int] IDENTITY(1,1NOT NULL,
          
      [UserID] [uniqueidentifier] NOT NULL,
          
      [UserName] [nvarchar](50NULL,
          
      [Email] [varchar](50NOT NULL,
          
      [PicID] [uniqueidentifier] NULL,
          
      PRIMARY KEY([ID])
      )
      GO

       

      UserInfo實體類:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Runtime.Serialization;
      using System.Data.Entity;
      using System.ComponentModel.DataAnnotations;

      namespace ConsoleTest
      {
          [Serializable]
          [DataContract]
          [Table(
      "UserInfo")]
          
      public class UserInfo
          {
              [DataMember]
              [Key]
              
      public int ID { getset; }

              [DataMember]
              
      public Guid UserID { getset; }

              [DataMember]
              
      public string UserName { getset; }

              [DataMember]
              
      public string Email { getset; }

              [DataMember]
              
      public Guid PicID { getset; }
          }
      }

       

      EF配置代碼:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Data.Entity;
      using System.Configuration;

      namespace ConsoleTest
      {
          
      public class TestDBContext : DbContext
          {
              
      public TestDBContext()
                  : 
      base("Test")
              {
              }

              
      public DbSet<UserInfo> UserInfos { getset; }
          }

      }

       

      測試方法:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Data.SqlClient;

      namespace ConsoleTest
      {
          
      public class NullTest
          {
              
      public List<UserInfo> GetUserInfo()
              {
                  
      using (TestDBContext context = new TestDBContext())
                  {
                      List
      <UserInfo> users = context.UserInfos
                          .Where(m
      =>m.UserID!=null)
                          .Where(n
      =>n.UserName!=null)
                          .Where(p
      =>p.Email!=null)
                          .Where(q
      =>q.PicID!=null)
                          .ToList();
                      
      return users;
                  }
              }

              
      public List<UserInfo> GetUserInfoNew()
              {
                  
      using (TestDBContext context = new TestDBContext())
                  {
                      List
      <UserInfo> users = context.UserInfos
                          .Where(m 
      => m.UserID != Guid.Empty)
                          .Where(n 
      => n.UserName != null)
                          .Where(p 
      => p.Email != null)
                          .Where(q 
      => q.PicID != new Guid("00000000-0000-0000-0000-000000000000"))
                          .ToList();
                      
      return users;
                  }
              }
          }

       

      調用:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Text.RegularExpressions;

      namespace ConsoleTest
      {
          
      class Program
          {
              
      static void Main(string[] args)
              {
                  NullTest nullTest 
      = new NullTest();
                  nullTest.GetUserInfo();
                  nullTest.GetUserInfoNew();
                  Console.Read();
              }
          }

       

      用SQL SERVER Profiler工具檢測到的第一個方法SQL語句:

      SELECT 
      [Extent1].[ID] AS [ID]
      [Extent1].[UserID] AS [UserID]
      [Extent1].[UserName] AS [UserName]
      [Extent1].[Email] AS [Email]
      [Extent1].[PicID] AS [PicID]
      FROM [dbo].[UserInfo] AS [Extent1]

      WHERE ([Extent1].[UserName] IS NOT NULLAND ([Extent1].[Email] IS NOT NULL) 

        

       第二個方法SQL語句:

       exec sp_executesql N'SELECT 

      [Extent1].[ID] AS [ID], 
      [Extent1].[UserID] AS [UserID], 
      [Extent1].[UserName] AS [UserName], 
      [Extent1].[Email] AS [Email], 
      [Extent1].[PicID] AS [PicID]
      FROM [dbo].[UserInfo] AS [Extent1]
      WHERE ([Extent1].[UserID] <> @p__linq__0) AND ([Extent1].[UserName] IS NOT NULL) AND ([Extent1].[Email] IS NOT NULL) AND (cast(''00000000-0000-0000-0000-000000000000'' as uniqueidentifier) <> [Extent1].[PicID])',N'@p__linq__0 uniqueidentifier',@p__linq__0='00000000-0000-0000-0000-000000000000'

       

      詭異在第一個方法生成的SQL語句中類型為GUID的兩個字段的不為空的條件沒有了,第二個方法是本人針對第一種方法不足提供的一種解決方案,不知大家有什么看法,怎么解決這一問題的,請不吝賜教!

      posted @ 2011-05-04 19:44  artwl  閱讀(5152)  評論(5)    收藏  舉報

      個人簡介

      var ME = {
      	"name": "土豆/Artwl",
      	"job": "coding",
      	"languages": [
      		"JS", "HTML",
                      "CSS", "jQuery"
      		"MVC",".NET",
      		"設計模式"
      	],
      	"hobby": [
      		"閱讀", "旅游",
      		"音樂", "電影"
      	]
      }
      
      TOP
      主站蜘蛛池模板: 一个人看的www视频免费观看| 亚洲成在人天堂一区二区| 国产精品成人av电影不卡 | 亚洲日韩性欧美中文字幕| 亚洲乱码日产精品一二三| 亚洲精品日韩在线丰满| 中文字幕国产精品一区二| 中文字幕热久久久久久久| 精品一区二区三区四区色| 黑森林福利视频导航| 国产精品SM捆绑调教视频| 婷婷色香五月综合缴缴情香蕉| 亚洲欧美卡通另类丝袜美腿| 国产美女深夜福利在线一| 国产91精选在线观看| yw尤物av无码国产在线观看| 成a人片亚洲日本久久| 国产在线自拍一区二区三区 | 日本黄韩国色三级三级三| 少妇又爽又刺激视频| 国产欧美日韩亚洲一区二区三区| 国产亚洲天堂另类综合| 蜜桃av多人一区二区三区| 国产综合久久99久久| 国内不卡的一区二区三区| 日韩有码中文在线观看| 国产精品自在拍首页视频8| 亚洲无线看天堂av| 国产又黄又爽又不遮挡视频| 亚洲精品乱码免费精品乱| 武乡县| 粉嫩一区二区三区国产精品| 亚洲精品漫画一二三区| 西西大胆午夜人体视频| 欧美男男作爱videos可播放| 午夜综合网| 自拍偷拍第一区二区三区| 99久久99这里只有免费费精品| 亚洲人成网站18禁止无码| 东京热一区二区三区在线| 久久亚洲精品中文字幕馆|