д????????SQL
????????? ???????[ 2017/1/5 11:06:50 ] ????????SQL Server ?????
????1.???
???????????????????C#??????SQL?????????.???????Щ????е?洢????????????????????.
???????????д洢?????SQL???C#????????????????????????????????Щ?????????
????2.????????
????2.1?????Dapper??????????????????????????SQL:
????SELECT
????a.*
????FROMdbo.ptypea
????INNERJOINdbo.PType_PricebONa.typeId=b.PTypeID
????LEFTJOINdbo.PType_UnitscONa.typeId=c.UnitsId
????WHEREa.typeId=@typeidANDa.CreateDate=@Area
????ANDpreprice1=@preprice1ANDdeleted=@deleted
????????@????????????滻????????(?鷳)????????????SQL????
????2.2?????????????SQLServerProfiler???????SQL
?????????????????е?SQLServer????????е?SQL??????????????????????SQL?????????????е?SQL?????鷳?????????Ctrl+F???????????????????????????????????????鷳.
????3.???????
?????????????????SQL???????????Dapper?????????????SQL?????????????:
publicclassSqlHelper
{
publicDictionary<string??object>Param=newDictionary<string??object>();
publicstringReplaceParam(refstringsql)
{
if(Param.Count==0)
{
returnsql;
}
StringBuildersb=newStringBuilder();
sb.Append(sql);
foreach(variteminParam)
{
varparamName=item.Key;
varparamValue=item.Value;
vartype=paramValue.GetType();
if(type==typeof(string)||type==typeof(DateTime))
{
//?????
sb.Replace($"@{paramName}"??$"'{paramValue}'");
}
elseif(type==typeof(bool))
{
//bool????
if(paramValue.ToString()=="True")
{
sb.Replace($"@{paramName}"??"1");
}
else
{
sb.Replace($"@{paramName}"??"0");
}
}
else
{
//???
sb.Replace($"@{paramName}"??paramValue.ToString());
}
}
sql=sb.ToString();
returnsql;
}
}
???????????:
publicIEnumerable<Ptype>GetPtypeDetail()
{
varsql=@"
SELECTa.*
FROMdbo.ptypea
INNERJOINdbo.PType_PricebONa.typeId=b.PTypeID
LEFTJOINdbo.PType_UnitscONa.typeId=c.UnitsId
WHEREa.typeId=@TypeidANDa.CreateDate=@CreateDate
ANDpreprice1=@preprice1ANDdeleted=@deleted
";
varsqlHelper=newSqlHelper();
sqlHelper.Param.Add("Typeid"??"001");
sqlHelper.Param.Add("CreateDate"??DateTime.Now);
sqlHelper.Param.Add("preprice1"??3.62M);
sqlHelper.Param.Add("deleted"??true);
sqlHelper.ReplaceParam(refsql);
IEnumerable<Ptype>plist=newList<Ptype>();
using(varcon=SQLServerHelper.GetConnection())
{
plist=con.Query<Ptype>(sql);
}
returnplist;
}
????????????Dapper??е?SQL???????SQL????????????????.
????PS:?????????????????滻??Ч????????????????C#????????滻?????????????????????????????????????????????????????????????.
????4.??
???????????Dapper??е?????????@??????SQL??????????滻?????SQL.
???????????????????????:С??????tm?и?XXbug????????.
??????????????????DapperQuery????????
??????????SQL?????????????????SQL???е????????????????滻@?????????????SQLServerProfiler???????????!!!
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11