提供这个模版好处有以下几点
1、方便你们复制,减少用例代码
2、方便你们验证是否是自已的原因
3、方便别人帮你找问题
这样一眼能看到全部代码,回答者很好给你解答
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using SqlSugar;
namespace OrmTest
{
class Program
{
static void Main(string[] args)
{
var db = new SqlSugarClient(new SqlSugar.ConnectionConfig()
{
ConnectionString = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST",
DbType = DbType.SqlServer,
IsAutoCloseConnection = true
});
//建表
db.CodeFirst.InitTables<Test001>();
//清空表
db.DbMaintenance.TruncateTable<Test001>();
//插入测试数据
var result = db.Insertable(new Test001() { id = 1 }).ExecuteCommand();//用例代码
Console.WriteLine(result);
Console.WriteLine("用例跑完");
Console.ReadKey();
}
//建类
public class Test001
{
public int id { get; set; }
}
}
} 这样一眼能看到全部代码,回答者很好给你解答
[HttpGet]
public object Get()
{
var db=new SqlSugarClient(new SqlSugar.ConnectionConfig() {
ConnectionString = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST",
DbType = DbType.SqlServer,
IsAutoCloseConnection = true
});
//建表
if (!db.DbMaintenance.IsAnyTable("Test001", false))
{
db.CodeFirst.InitTables<Test001>();
}
//用例代码
var result=db.Insertable(new Test001() { id = 1 }).ExecuteCommand();//用例代码
return result;
}
//用例实体
public class Test001
{
public int id { get; set; }
}其他用户提问题示例
https://www.donet5.com/ask/9/16415
public class UnitOneToOne
{
public static void Init()
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<UnitPerson011, UnitAddress011>();
db.DbMaintenance.TruncateTable<UnitPerson011, UnitAddress011>();
var address = new UnitAddress011
{
Street = "123 Main Street"
};
int addressId = db.Insertable(address).ExecuteReturnIdentity();
// 创建 UnitPerson011 对象并插入记录
var person = new UnitPerson011
{
Name = "John Doe",
AddressId = addressId
};
int personId = db.Insertable(person).ExecuteReturnIdentity();
var list=db.Queryable<UnitPerson011>().Includes(x => x.Address).ToList();
}
}
public class UnitPerson011
{
[SqlSugar.SugarColumn(IsPrimaryKey =true, IsIdentity = true)]
public int Id { get; set; }
public string Name { get; set; }
public int AddressId { get; set; }
[SqlSugar.Navigate(SqlSugar.NavigateType.OneToOne,nameof(AddressId))]
public UnitAddress011 Address { get; set; }
}
public class UnitAddress011
{
[SqlSugar.SugarColumn(IsPrimaryKey = true,IsIdentity =true)]
public int Id { get; set; }
public string Street { get; set; }
} public class UnitOneToMany
{
public static void Init()
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<UnitPerson011, UnitAddress011>();
db.DbMaintenance.TruncateTable<UnitPerson011, UnitAddress011>();
var address = new UnitAddress011
{
Street = "123 Main Street"
};
int addressId = db.Insertable(address).ExecuteReturnIdentity();
// 创建 UnitPerson011 对象并插入记录
var person = new UnitPerson011
{
Name = "John Doe",
AddressId = addressId
};
int personId = db.Insertable(person).ExecuteReturnIdentity();
var list=db.Queryable<UnitAddress011>().Includes(x => x.Persons).ToList();
}
}
public class UnitPerson011
{
[SqlSugar.SugarColumn(IsPrimaryKey =true, IsIdentity = true)]
public int Id { get; set; }
public string Name { get; set; }
public int AddressId { get; set; }
}
public class UnitAddress011
{
[SqlSugar.SugarColumn(IsPrimaryKey = true,IsIdentity =true)]
public int Id { get; set; }
public string Street { get; set; }
[SqlSugar.Navigate(SqlSugar.NavigateType.OneToMany, nameof(UnitPerson011.AddressId))]
public List<UnitPerson011> Persons { get; set; }
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
namespace OrmTest
{
internal class UnitManyToMany
{
public static void Init()
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<OperatorInfo, Role, OptRole>();
db.DbMaintenance.TruncateTable<OperatorInfo, Role, OptRole>();
db.Insertable(new OperatorInfo()
{
id="1",
createTime=DateTime.Now,
isDel=1,
isDisabled=1,
openid="",
phone="",
pwd="",
realname="a01",
remark="a",
sno="a",
username="a01"
}).ExecuteCommand();
db.Insertable(new OperatorInfo()
{
id = "2",
createTime = DateTime.Now,
isDel = 1,
isDisabled = 1,
openid = "",
phone = "",
pwd = "",
realname = "a01",
remark = "a",
sno = "a",
username = "admin"
}).ExecuteCommand();
db.Insertable(new OperatorInfo()
{
id = "3",
createTime = DateTime.Now,
isDel = 1,
isDisabled = 1,
openid = "",
phone = "",
pwd = "",
realname = "a01",
remark = "a",
sno = "a",
username = "admin"
}).ExecuteCommand();
var id=db.Insertable(new Role()
{
id=1,
createTime=DateTime.Now,
name="admin"
}).ExecuteReturnIdentity();
var id2 = db.Insertable(new Role()
{
id = 2,
createTime = DateTime.Now,
name = "admin"
}).ExecuteReturnIdentity();
db.Insertable(new OptRole() { operId="1", roleId=id }).ExecuteCommand();
db.Insertable(new OptRole() { id=2, operId = "2", roleId = id2 }).ExecuteCommand();
var list1=db.Queryable<OperatorInfo>()
.Includes(x => x.Roles)
.ToList();
var list2= db.Queryable<OperatorInfo>()
.Includes(x => x.Roles).Where(x=>x.Roles.Any()).ToList();
}
/// <summary>
/// 描述:
/// 作者:synjones
/// 时间:2022-04-20 21:30:28
/// </summary>
[SugarTable("unit_operatorinfo")]
public partial class OperatorInfo
{ /// <summary>
/// 多角色
/// </summary>
[Navigate(typeof(OptRole), nameof(OptRole.operId), nameof(OptRole.roleId))]//名字换
public List<Role> Roles { get; set; }
/// <summary>
/// 主键
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public string id { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string realname { get; set; }
/// <summary>
/// 账号
/// </summary>
public string username { get; set; }
/// <summary>
/// 密码
/// </summary>
public string pwd { get; set; }
/// <summary>
/// 学号
/// </summary>
public string sno { get; set; }
/// <summary>
/// openid
/// </summary>
public string openid { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string phone { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string remark { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime createTime { get; set; }
/// <summary>
/// 状态(1:启用,2:禁用)
/// </summary>
public int isDisabled { get; set; }
/// <summary>
/// 是否删除(1:正常;2:删除)
/// </summary>
public int isDel { get; set; }
}
/// <summary>
/// 描述:
/// 作者:synjones
/// 时间:2022-04-20 21:30:28
/// </summary>
[SugarTable("unit_role1")]
public partial class Role
{
/// <summary>
/// 角色
/// </summary>
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int id { get; set; }
/// <summary>
/// 角色名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime createTime { get; set; }
}
/// <summary>
/// 描述:
/// 作者:synjones
/// 时间:2022-04-21 14:35:09
/// </summary>
[SugarTable("unit_operator_role")]
public partial class OptRole
{
/// <summary>
///
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public int id { get; set; }
/// <summary>
///
/// </summary>
public string operId { get; set; }
/// <summary>
///
/// </summary>
public int roleId { get; set; }
}
}
}支持多字段
public class UnitDynamic
{
public static void Init()
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<UnitPerson011, UnitAddress011>();
db.DbMaintenance.TruncateTable<UnitPerson011, UnitAddress011>();
var address = new UnitAddress011
{
Street = "123 Main Street"
};
int addressId = db.Insertable(address).ExecuteReturnIdentity();
// 创建 UnitPerson011 对象并插入记录
var person = new UnitPerson011
{
Name = "John Doe",
AddressId = addressId
};
int personId = db.Insertable(person).ExecuteReturnIdentity();
var list=db.Queryable<UnitAddress011>()
.Includes(x =>
x.Persons.MappingField(y=>y.AddressId,()=>x.Id).ToList()//可以多字段匹配 MappingField(..).MappingField(..).Tolist()
).ToList();
}
}
public class UnitPerson011
{
[SqlSugar.SugarColumn(IsPrimaryKey =true, IsIdentity = true)]
public int Id { get; set; }
public string Name { get; set; }
public int AddressId { get; set; }
}
public class UnitAddress011
{
[SqlSugar.SugarColumn(IsPrimaryKey = true,IsIdentity =true)]
public int Id { get; set; }
public string Street { get; set; }
[SqlSugar.Navigate(SqlSugar.NavigateType.Dynamic,null)]
public List<UnitPerson011> Persons { get; set; }
}using SqlSugar;
Console.WriteLine("Hello, World!");
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "Server=.;Database=TestDb;User=sa;Password=123456;",
DbType = DbType.SqlServer,
IsAutoCloseConnection = true,
});
db.DbMaintenance.CreateDatabase();
db.CodeFirst.InitTables<Tab1, Tab2, Tab3, Tab4>();//Create Table
Tab1 tab1 = new Tab1();
tab1.Name = "111";
tab1.Tab2s = new List<Tab2>();
tab1.Tab2s.Add(new Tab2() { Name = "222" });
tab1.Tab2s[0].Tab3s = new List<Tab3>();
tab1.Tab2s[0].Tab3s.Add(new Tab3 { Name = "333" });
tab1.Tab2s[0].Tab3s[0].Tab4s = new List<Tab4>();
tab1.Tab2s[0].Tab3s[0].Tab4s.Add(new Tab4() { Name = "444" });
db.InsertNav(tab1)
.Include(t1 => t1.Tab2s)
.ThenInclude(t2 => t2.Tab3s)
.ThenInclude(t3 => t3.Tab4s).ExecuteCommand();
[SqlSugar.SugarTable("Tab1")]
public class Tab1
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
public string Name { get; set; }
[SugarColumn(IsIgnore = true)]
[Navigate(NavigateType.OneToMany, nameof(Tab2.Tab1Id))]
public List<Tab2> Tab2s { get; set; }
}
[SqlSugar.SugarTable("Tab2")]
public class Tab2
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
public string Name { get; set; }
public long Tab1Id { get; set; }
[SugarColumn(IsIgnore = true)]
[Navigate(NavigateType.OneToMany, nameof(Tab3.Tab2Id))]
public List<Tab3> Tab3s { get; set; }
}
[SqlSugar.SugarTable("Tab3")]
public class Tab3
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
public string Name { get; set; }
public long Tab1Id { get; set; }//问题:Tab1Id没有自动填充,如果想要填充改怎么写
public long Tab2Id { get; set; }
[SugarColumn(IsIgnore = true)]
[Navigate(NavigateType.OneToMany, nameof(Tab4.Tab3Id))]
public List<Tab4> Tab4s { get; set; }
}
[SqlSugar.SugarTable("Tab4")]
public class Tab4
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
public string Name { get; set; }
public long Tab1Id { get; set; }//问题:Tab1Id没有自动填充,如果想要填充改怎么写
public long Tab2Id { get; set; }//问题:Tab2Id没有自动填充,如果想要填充改怎么写
public long Tab3Id { get; set; }
}2016 © donet5.comApache Licence 2.0