diff --git a/Falcon.ModelSP.Test/Db/TestDbContext.cs b/Falcon.ModelSP.Test/Db/TestDbContext.cs new file mode 100644 index 0000000..113cb9f --- /dev/null +++ b/Falcon.ModelSP.Test/Db/TestDbContext.cs @@ -0,0 +1,45 @@ +锘縰sing Microsoft.EntityFrameworkCore; +using Falcon.ModelSP; +using System.Collections.Generic; + +namespace Falcon.ModelSP.Test.Db +{ + class TestDbContext:DbContext + { + protected TestDbContext() { } + protected TestDbContext(DbContextOptions option) : base(option) { } + + public static TestDbContext GetDbInMemory() { + var option = new DbContextOptionsBuilder().UseInMemoryDatabase("TestDb").Options; + var db = new TestDbContext(option); + AddTestPr(db); + return db; + } + + public static void AddTestPr(TestDbContext db) { + var sql = @" + DROP PROC Pr_AddOne + CREATE PROCEDURE Pr_AddOne + @a AS INT + AS + Set Nocount On + SELECT @a+1 aa; + GO + "; + //db.Database.ExecuteSqlCommandAsync(sql).Wait(); + } + + public IEnumerable Pr_AddOne(Pr_AddOne data) { + return this.RunProcuder(data); + } + } + + public class Pr_AddOne + { + public int A { get; set; } + } + public class Pr_AddOneResult + { + public int Aa { get; set; } + } +} diff --git a/Falcon.ModelSP.Test/Falcon.ModelSP.Test.csproj b/Falcon.ModelSP.Test/Falcon.ModelSP.Test.csproj index 6e27da1..f523626 100644 --- a/Falcon.ModelSP.Test/Falcon.ModelSP.Test.csproj +++ b/Falcon.ModelSP.Test/Falcon.ModelSP.Test.csproj @@ -7,6 +7,8 @@ + + diff --git a/Falcon.ModelSP.Test/ModelSPTest.cs b/Falcon.ModelSP.Test/ModelSPTest.cs index 663f04e..72ea8b8 100644 --- a/Falcon.ModelSP.Test/ModelSPTest.cs +++ b/Falcon.ModelSP.Test/ModelSPTest.cs @@ -1,6 +1,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Falcon.ModelSP; using System.Linq; +using Falcon.ModelSP.Test.Db; namespace Falcon.ModelSP.Test { @@ -43,5 +44,18 @@ namespace Falcon.ModelSP.Test [FalconSPProcuderName("sp123")] class ParmModel1 { } + + [TestMethod] + public void InMemoryDbTest() { + //内存数据库无法使用关系模型,测试无法进行 + return; + using(var db = TestDbContext.GetDbInMemory()) { + var re = db.Pr_AddOne(new Pr_AddOne { A = 1 }); + Assert.IsTrue(re != null); + Assert.IsTrue(re.Any()); + var first = re.First(); + Assert.IsTrue(first.Aa == 2); + } + } } } diff --git a/Falcon.ModelSP/FalconSPRuner.cs b/Falcon.ModelSP/FalconSPRuner.cs new file mode 100644 index 0000000..0af56ae --- /dev/null +++ b/Falcon.ModelSP/FalconSPRuner.cs @@ -0,0 +1,20 @@ +锘縰sing System.Collections.Generic; +using Microsoft.EntityFrameworkCore; + +namespace Falcon.ModelSP +{ + /// + /// 瀛樺偍杩囩▼鎵ц鍣ㄥ疄鐜 + /// + public class FalconSPRuner:IFalconSPRuner + { + public int RunSP(DbContext db,TPrarmType data) { + return db.RunProcuder(data); + } + + public IEnumerable RunSP(DbContext db,TPrarmType data) + where TResultType : class, new() { + return db.RunProcuder(data); + } + } +} diff --git a/Falcon.ModelSP/IFalconSPRuner.cs b/Falcon.ModelSP/IFalconSPRuner.cs index 25b2a96..2967d4b 100644 --- a/Falcon.ModelSP/IFalconSPRuner.cs +++ b/Falcon.ModelSP/IFalconSPRuner.cs @@ -1,6 +1,4 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; +锘縰sing System.Collections.Generic; using Microsoft.EntityFrameworkCore; namespace Falcon.ModelSP @@ -27,19 +25,4 @@ namespace Falcon.ModelSP /// 鍙傛暟鏁版嵁 IEnumerable RunSP(DbContext db,TPrarmType data) where TResultType : class, new(); } - - /// - /// 瀛樺偍杩囩▼鎵ц鍣ㄥ疄鐜 - /// - public class FalconSPRuner:IFalconSPRuner - { - public int RunSP(DbContext db,TPrarmType data) { - return db.RunProcuder(data); - } - - public IEnumerable RunSP(DbContext db,TPrarmType data) - where TResultType : class, new() { - return db.RunProcuder(data); - } - } } diff --git a/Falcon.ModelSP/IServiceCollectionExtend.cs b/Falcon.ModelSP/IServiceCollectionExtend.cs index 6ea9f7d..35217ff 100644 --- a/Falcon.ModelSP/IServiceCollectionExtend.cs +++ b/Falcon.ModelSP/IServiceCollectionExtend.cs @@ -1,7 +1,4 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; -using Microsoft.Extensions.DependencyInjection; +锘縰sing Microsoft.Extensions.DependencyInjection; namespace Falcon.ModelSP {