This commit is contained in:
sunkaixuan 2017-10-01 20:36:51 +08:00
parent 361cd1fe4a
commit dcb26669ee
4 changed files with 17 additions and 27 deletions

View File

@ -23,7 +23,7 @@ namespace OrmTest.Demo
Group(); Group();
Sqlable(); Sqlable();
Tran(); Tran();
StoredProcedure(); //StoredProcedure();
Enum(); Enum();
Simple(); Simple();
} }
@ -50,28 +50,14 @@ namespace OrmTest.Demo
private static void StoredProcedure() private static void StoredProcedure()
{ {
var db = GetInstance(); var db = GetInstance();
//1. no result
db.Ado.UseStoredProcedure(() =>
{
string spName = "sp_help";
var getSpReslut = db.Ado.SqlQueryDynamic(spName, new { objname = "student" });
});
//2. has result
var result = db.Ado.UseStoredProcedure<dynamic>(() =>
{
string spName = "sp_help";
return db.Ado.SqlQueryDynamic(spName, new { objname = "student" });
});
//2. has output
object outPutValue; object outPutValue;
var outputResult = db.Ado.UseStoredProcedure<dynamic>(() => var outputResult = db.Ado.UseStoredProcedure<dynamic>(() =>
{ {
string spName = "sp_school"; string spName = "SpGetSchool";
var p1 = new SugarParameter("@p1", "1"); var p1 = new SugarParameter("@id_in", "1");
var p2 = new SugarParameter("@p2", null, true);//isOutput=true var p2 = new SugarParameter("@name_out", null, true);//isOutput=true
var dbResult = db.Ado.SqlQueryDynamic(spName, new SugarParameter[] { p1, p2 }); var dbResult = db.Ado.ExecuteCommand(spName, new SugarParameter[] { p1, p2 });
outPutValue = p2.Value; outPutValue = p2.Value;
return dbResult; return dbResult;
}); });
@ -160,7 +146,7 @@ namespace OrmTest.Demo
var getNew = db.Queryable<Student>().Where(it => it.Id == 1).Select(it => new { id = SqlFunc.IIF(it.Id == 0, 1, it.Id), it.Name, it.SchoolId }).ToList(); var getNew = db.Queryable<Student>().Where(it => it.Id == 1).Select(it => new { id = SqlFunc.IIF(it.Id == 0, 1, it.Id), it.Name, it.SchoolId }).ToList();
var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList(); var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList();
var getByPrimaryKey = db.Queryable<Student>().InSingle(2); var getByPrimaryKey = db.Queryable<Student>().InSingle(2);
var getSingleOrDefault = db.Queryable<Student>().Single(); var getSingleOrDefault = db.Queryable<Student>().Where(it=>it.Id==1).Single();
var getFirstOrDefault = db.Queryable<Student>().First(); var getFirstOrDefault = db.Queryable<Student>().First();
var getByWhere = db.Queryable<Student>().Where(it => it.Id == 1 || it.Name == "a").ToList(); var getByWhere = db.Queryable<Student>().Where(it => it.Id == 1 || it.Name == "a").ToList();
var getByFuns = db.Queryable<Student>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList(); var getByFuns = db.Queryable<Student>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList();

View File

@ -11,7 +11,7 @@ namespace OrmTest.Models
[SugarTable("STudent")] [SugarTable("STudent")]
public class Student public class Student
{ {
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "ID")] [SugarColumn(IsPrimaryKey = true, ColumnName = "ID",OracleSequenceName = "seq_newsId")]
public int Id { get; set; } public int Id { get; set; }
public int? SchoolId { get; set; } public int? SchoolId { get; set; }
public string Name { get; set; } public string Name { get; set; }

View File

@ -104,6 +104,10 @@ namespace SqlSugar
{ {
sqlParameter.ParameterName = ':' + sqlParameter.ParameterName.Substring(1, sqlParameter.ParameterName.Length - 1); sqlParameter.ParameterName = ':' + sqlParameter.ParameterName.Substring(1, sqlParameter.ParameterName.Length - 1);
} }
if (this.CommandType == CommandType.StoredProcedure)
{
sqlParameter.ParameterName = sqlParameter.ParameterName.TrimStart(':');
}
//sqlParameter.UdtTypeName = parameter.UdtTypeName; //sqlParameter.UdtTypeName = parameter.UdtTypeName;
sqlParameter.Size = parameter.Size; sqlParameter.Size = parameter.Size;
sqlParameter.Value = parameter.Value; sqlParameter.Value = parameter.Value;

View File

@ -15,7 +15,7 @@ namespace SqlSugar
return @"INSERT INTO {0} return @"INSERT INTO {0}
({1}) ({1})
VALUES VALUES
({2}) ;"; ({2}) ";
} }
} }
@ -28,13 +28,13 @@ namespace SqlSugar
} }
var groupList = DbColumnInfoList.GroupBy(it => it.TableId).ToList(); var groupList = DbColumnInfoList.GroupBy(it => it.TableId).ToList();
var isSingle = groupList.Count() == 1; var isSingle = groupList.Count() == 1;
string columnsString = string.Join(UtilConstants.Dot, groupList.First().Select(it => Builder.GetTranslationColumnName(it.DbColumnName))); string columnsString = string.Join(",", groupList.First().Select(it => Builder.GetTranslationColumnName(it.DbColumnName)));
if (isSingle) if (isSingle)
{ {
string columnParametersString = string.Join(UtilConstants.Dot, this.DbColumnInfoList.Select(it => Builder.SqlParameterKeyWord + it.DbColumnName)); string columnParametersString = string.Join(",", this.DbColumnInfoList.Select(it => Builder.SqlParameterKeyWord + it.DbColumnName));
if (identities.IsValuable()) { if (identities.IsValuable()) {
columnsString = columnsString.TrimEnd(UtilConstants.DotChar) + UtilConstants.Dot + string.Join(UtilConstants.Dot, identities.Select(it=> Builder.GetTranslationColumnName(it.DbColumnName))); columnsString = columnsString.TrimEnd(',') + "," + string.Join(",", identities.Select(it=> Builder.GetTranslationColumnName(it.DbColumnName)));
columnParametersString = columnParametersString.TrimEnd(UtilConstants.DotChar) + UtilConstants.Dot + string.Join(UtilConstants.Dot, identities.Select(it =>it.OracleSequenceName)); columnParametersString = columnParametersString.TrimEnd(',') +"," + string.Join(",", identities.Select(it =>it.OracleSequenceName+ ".nextval"));
} }
return string.Format(SqlTemplate, GetTableNameString, columnsString, columnParametersString); return string.Format(SqlTemplate, GetTableNameString, columnsString, columnParametersString);
} }