コード例 #1
0
 private void Initialize()
 {
     if (this._version == SqlVersion.Sql10 || this._version == SqlVersion.Sql11)
     {
         this._primitiveTypes = base.GetStoreTypes();
         this._functions      = base.GetStoreFunctions();
     }
     else
     {
         List <PrimitiveType> primitiveTypeList = new List <PrimitiveType>((IEnumerable <PrimitiveType>)base.GetStoreTypes());
         primitiveTypeList.RemoveAll((Predicate <PrimitiveType>)(primitiveType =>
         {
             if (!primitiveType.Name.Equals("time", StringComparison.OrdinalIgnoreCase) && !primitiveType.Name.Equals("date", StringComparison.OrdinalIgnoreCase) && (!primitiveType.Name.Equals("datetime2", StringComparison.OrdinalIgnoreCase) && !primitiveType.Name.Equals("datetimeoffset", StringComparison.OrdinalIgnoreCase)) && !primitiveType.Name.Equals("geography", StringComparison.OrdinalIgnoreCase))
             {
                 return(primitiveType.Name.Equals("geometry", StringComparison.OrdinalIgnoreCase));
             }
             return(true);
         }));
         if (this._version == SqlVersion.Sql8)
         {
             primitiveTypeList.RemoveAll((Predicate <PrimitiveType>)(primitiveType =>
             {
                 if (!primitiveType.Name.Equals("xml", StringComparison.OrdinalIgnoreCase))
                 {
                     return(primitiveType.Name.EndsWith("(max)", StringComparison.OrdinalIgnoreCase));
                 }
                 return(true);
             }));
         }
         this._primitiveTypes = new ReadOnlyCollection <PrimitiveType>((IList <PrimitiveType>)primitiveTypeList);
         IEnumerable <EdmFunction> source = base.GetStoreFunctions().Where <EdmFunction>((Func <EdmFunction, bool>)(f => !SqlProviderManifest.IsKatmaiOrNewer(f)));
         if (this._version == SqlVersion.Sql8)
         {
             source = source.Where <EdmFunction>((Func <EdmFunction, bool>)(f => !SqlProviderManifest.IsYukonOrNewer(f)));
         }
         this._functions = new ReadOnlyCollection <EdmFunction>((IList <EdmFunction>)source.ToList <EdmFunction>());
     }
 }