sunkaixuan
2 years ago
1 changed files with 65 additions and 2 deletions
@ -1,14 +1,77 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
using SqlSugar; |
|||
using System.Linq; |
|||
namespace OrmTest |
|||
{ |
|||
public class CrossDatabase01 |
|||
{ |
|||
public static void Init() |
|||
public static void Init() |
|||
{ |
|||
var db = new SqlSugarClient(new List<ConnectionConfig>() |
|||
{ |
|||
new ConnectionConfig(){ConfigId="OrderDb",DbType=DbType.SqlServer,ConnectionString="server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST",IsAutoCloseConnection=true}, |
|||
new ConnectionConfig(){ConfigId="OrderItemDb",DbType=DbType.SqlServer,ConnectionString="server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST2",IsAutoCloseConnection=true } |
|||
}); |
|||
|
|||
db.GetConnection("OrderDb").CodeFirst.InitTables<Order>(); |
|||
db.GetConnection("OrderItemDb").CodeFirst.InitTables<OrderItem>(); |
|||
|
|||
db.GetConnection("OrderDb").DbMaintenance.TruncateTable<Order>(); |
|||
db.GetConnection("OrderItemDb").DbMaintenance.TruncateTable<OrderItem>(); |
|||
|
|||
db.GetConnection("OrderDb").Insertable(new Order() { Id = 1, CreateTime = DateTime.Now, Name = "a", Price = 10, CustomId = 1 }).ExecuteCommand(); |
|||
db.GetConnection("OrderItemDb").Insertable(new OrderItem() { OrderId = 1, CreateTime = DateTime.Now, Price = 10 }).ExecuteCommand(); |
|||
|
|||
var list =db.GetConnection("OrderItemDb").Queryable<OrderItem>() |
|||
.CrossQuery(typeof(Order), "OrderDb") |
|||
.Includes(z => z.Order) |
|||
.ToList(); |
|||
|
|||
|
|||
var list2 = db.GetConnection("OrderDb").Queryable<Order>() |
|||
.CrossQuery(typeof(OrderItem), "OrderItemDb") |
|||
.Includes(z => z.Items) |
|||
.ToList(); |
|||
|
|||
|
|||
if (list.First().Order == null) |
|||
{ |
|||
throw new Exception("unit error"); |
|||
} |
|||
if (list2.First().Items.Count == 0) |
|||
{ |
|||
throw new Exception("unit error"); |
|||
} |
|||
|
|||
} |
|||
[SqlSugar.SugarTable("Order8")] |
|||
public class Order |
|||
{ |
|||
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)] |
|||
public int Id { get; set; } |
|||
|
|||
public string Name { get; set; } |
|||
public decimal Price { get; set; } |
|||
[SugarColumn(IsNullable = true)] |
|||
public DateTime CreateTime { get; set; } |
|||
[SugarColumn(IsNullable = true)] |
|||
public int CustomId { get; set; } |
|||
[Navigate(NavigateType.OneToMany, nameof(OrderItem.OrderId))] |
|||
public List<OrderItem> Items { get; set; } |
|||
} |
|||
[SqlSugar.SugarTable("OrderDetail8")] |
|||
public class OrderItem |
|||
{ |
|||
[SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] |
|||
public int ItemId { get; set; } |
|||
public int OrderId { get; set; } |
|||
public decimal? Price { get; set; } |
|||
[SqlSugar.SugarColumn(IsNullable = true)] |
|||
public DateTime? CreateTime { get; set; } |
|||
[Navigate(NavigateType.OneToOne, nameof(OrderId))] |
|||
public Order Order { get; set; } |
|||
} |
|||
} |
|||
} |
|||
|
Loading…
Reference in new issue