You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.3 KiB
C#

using AUCMA.STORE.Common;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;
namespace AUCMA.STORE.UnitTest
{
/// <summary>
/// UnitTest2 的摘要说明
/// </summary>
[TestClass]
public class CodeGenerator
{
public CodeGenerator()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
private TestContext testContextInstance;
/// <summary>
///获取或设置测试上下文,该上下文提供
///有关当前测试运行及其功能的信息。
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
#region 附加测试特性
//
// 编写测试时,可以使用以下附加特性:
//
// 在运行类中的第一个测试之前使用 ClassInitialize 运行代码
// [ClassInitialize()]
// public static void MyClassInitialize(TestContext testContext) { }
//
// 在类中的所有测试都已运行之后使用 ClassCleanup 运行代码
// [ClassCleanup()]
// public static void MyClassCleanup() { }
//
// 在运行每个测试之前,使用 TestInitialize 来运行代码
// [TestInitialize()]
// public void MyTestInitialize() { }
//
// 在每个测试运行完之后,使用 TestCleanup 来运行代码
// [TestCleanup()]
// public void MyTestCleanup() { }
//
#endregion
/// <summary>
/// 代码生成
/// </summary>
[TestMethod]
public void TestMethod1()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = ConfigHelper.GetConfig("OracleDataSource"),
DbType = DbType.Oracle, //必填
IsAutoCloseConnection = true,
InitKeyType = InitKeyType.Attribute // Attribute用于DbFirst 从数据库生成model的
//InitKeyType = InitKeyType.SystemTable SystemTable用于Codefirst 从model库生成数据库表的
});
//db.DbFirst.Where("BASE_MATERIAL_INFO").CreateClassFile("E:\\桌面\\Oracle测试\\SqlSugar.Oracle\\SqlSugar.Oracle.Model", "SqlSugar.Oracle.Model");
List<DbTableInfo> tableInfos = new List<DbTableInfo>();
var info = db.DbMaintenance.GetTableInfoList();
info.ForEach(x => {
if (x.Name == "IMOS_TE_BOM") tableInfos.Add(x);
});
foreach (var item in tableInfos)
{
string entityName = item.Name.ToUpper();
db.MappingTables.Add(entityName, item.Name);
foreach (var col in db.DbMaintenance.GetColumnInfosByTableName(item.Name))
{
db.MappingColumns.Add(col.DbColumnName.ToUpper() /*类的属性大写*/, col.DbColumnName.ToUpper(), entityName);
}
}
db.DbFirst.IsCreateAttribute().CreateClassFile("E:\\桌面\\Oracle测试", "SqlSugar.Oracle.Model");
}
}
}