簡體   English   中英

什么ADO類型是SQL Server 2008的地理空間類型?

[英]What ADO type is the Geography spatial type from SQL Server 2008?

我想重構這個方法(來自Rob Conery的Massive.cs ):

public static void AddParam(this DbCommand cmd, object item) {
    var p = cmd.CreateParameter();
    p.ParameterName = string.Format("@{0}", cmd.Parameters.Count);
    if (item == null) {
        p.Value = DBNull.Value;
    } else {
        if (item.GetType() == typeof(Guid)) {
            p.Value = item.ToString();
            p.DbType = DbType.String;
            p.Size = 4000;
        } else if (item.GetType() == typeof(ExpandoObject)) {
            var d = (IDictionary<string, object>)item;
            p.Value = d.Values.FirstOrDefault();
        } else {
            p.Value = item;
        }
        //from DataChomp
        if (item.GetType() == typeof(string))
            p.Size = 4000;
    }
    cmd.Parameters.Add(p);
}

可能添加一個Geography類型的檢查將解決我的問題與ExecuteNonQuery和空間數據類型,但我會檢查什么類型?

if (item.GetType() == typeof(//WhatType?//)) {}

我相信,你正在尋找SqlGeography

這個怎么樣?

if (item.GetType() == typeof(Microsoft.SqlServer.Types.SqlGeography)) 
{
     SqlParameter p = new SqlParameter();
     p.SqlDbType = System.Data.SqlDbType.Udt;
     p.UdtTypeName = "geography";
     p.Value = value;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM