mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-18 20:08:15 +08:00
源代码改用vs默认格式化
This commit is contained in:
@ -1,118 +1,132 @@
|
||||
using System;
|
||||
using Xunit;
|
||||
|
||||
namespace FreeSql.Tests {
|
||||
public class RepositoryTests {
|
||||
namespace FreeSql.Tests
|
||||
{
|
||||
public class RepositoryTests
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void AddUpdate() {
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
[Fact]
|
||||
public void AddUpdate()
|
||||
{
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
|
||||
var item = repos.Insert(new AddUpdateInfo());
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
var item = repos.Insert(new AddUpdateInfo());
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
|
||||
item = repos.Insert(new AddUpdateInfo { Id = Guid.NewGuid() });
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
item = repos.Insert(new AddUpdateInfo { Id = Guid.NewGuid() });
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
|
||||
item.Title = "xxx";
|
||||
repos.Update(item);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
item.Title = "xxx";
|
||||
repos.Update(item);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
|
||||
Console.WriteLine(repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ToSql());
|
||||
repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ExecuteAffrows();
|
||||
Console.WriteLine(repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ToSql());
|
||||
repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ExecuteAffrows();
|
||||
|
||||
item = repos.Find(item.Id);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
}
|
||||
item = repos.Find(item.Id);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void UpdateAttach() {
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
[Fact]
|
||||
public void UpdateAttach()
|
||||
{
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
|
||||
var item = new AddUpdateInfo { Id = Guid.NewGuid() };
|
||||
repos.Attach(item);
|
||||
var item = new AddUpdateInfo { Id = Guid.NewGuid() };
|
||||
repos.Attach(item);
|
||||
|
||||
item.Title = "xxx";
|
||||
repos.Update(item);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
item.Title = "xxx";
|
||||
repos.Update(item);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
|
||||
Console.WriteLine(repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ToSql());
|
||||
repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ExecuteAffrows();
|
||||
Console.WriteLine(repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ToSql());
|
||||
repos.UpdateDiy.Where(a => a.Id == item.Id).Set(a => a.Clicks + 1).ExecuteAffrows();
|
||||
|
||||
item = repos.Find(item.Id);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
}
|
||||
item = repos.Find(item.Id);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void UpdateWhenNotExists() {
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
[Fact]
|
||||
public void UpdateWhenNotExists()
|
||||
{
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
|
||||
var item = new AddUpdateInfo { Id = Guid.NewGuid() };
|
||||
item.Title = "xxx";
|
||||
Assert.Throws<Exception>(() => repos.Update(item));
|
||||
}
|
||||
var item = new AddUpdateInfo { Id = Guid.NewGuid() };
|
||||
item.Title = "xxx";
|
||||
Assert.Throws<Exception>(() => repos.Update(item));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Update() {
|
||||
g.sqlite.Insert(new AddUpdateInfo()).ExecuteAffrows();
|
||||
[Fact]
|
||||
public void Update()
|
||||
{
|
||||
g.sqlite.Insert(new AddUpdateInfo()).ExecuteAffrows();
|
||||
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
var repos = g.sqlite.GetGuidRepository<AddUpdateInfo>();
|
||||
|
||||
var item = new AddUpdateInfo { Id = g.sqlite.Select<AddUpdateInfo>().First().Id };
|
||||
var item = new AddUpdateInfo { Id = g.sqlite.Select<AddUpdateInfo>().First().Id };
|
||||
|
||||
item.Title = "xxx";
|
||||
repos.Update(item);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
}
|
||||
item.Title = "xxx";
|
||||
repos.Update(item);
|
||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(item));
|
||||
}
|
||||
|
||||
public class AddUpdateInfo {
|
||||
public class AddUpdateInfo
|
||||
{
|
||||
|
||||
public Guid Id { get; set; }
|
||||
public string Title { get; set; }
|
||||
public Guid Id { get; set; }
|
||||
public string Title { get; set; }
|
||||
|
||||
public int Clicks { get; set; } = 10;
|
||||
}
|
||||
public int Clicks { get; set; } = 10;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void UnitOfWorkRepository() {
|
||||
foreach (var fsql in new[] { g.sqlite, /*g.mysql, g.pgsql, g.oracle, g.sqlserver*/ }) {
|
||||
[Fact]
|
||||
public void UnitOfWorkRepository()
|
||||
{
|
||||
foreach (var fsql in new[] { g.sqlite, /*g.mysql, g.pgsql, g.oracle, g.sqlserver*/ })
|
||||
{
|
||||
|
||||
fsql.CodeFirst.ConfigEntity<FlowModel>(f => {
|
||||
f.Property(b => b.UserId).IsPrimary(true);
|
||||
f.Property(b => b.Id).IsPrimary(true).IsIdentity(true);
|
||||
f.Property(b => b.Name).IsNullable(false);
|
||||
});
|
||||
fsql.CodeFirst.ConfigEntity<FlowModel>(f =>
|
||||
{
|
||||
f.Property(b => b.UserId).IsPrimary(true);
|
||||
f.Property(b => b.Id).IsPrimary(true).IsIdentity(true);
|
||||
f.Property(b => b.Name).IsNullable(false);
|
||||
});
|
||||
|
||||
FlowModel flow = new FlowModel() {
|
||||
CreateTime = DateTime.Now,
|
||||
Name = "aaa",
|
||||
LastModifyTime = DateTime.Now,
|
||||
UserId = 1,
|
||||
};
|
||||
var flowRepos = fsql.GetRepository<FlowModel>();
|
||||
flowRepos.Insert(flow);
|
||||
FlowModel flow = new FlowModel()
|
||||
{
|
||||
CreateTime = DateTime.Now,
|
||||
Name = "aaa",
|
||||
LastModifyTime = DateTime.Now,
|
||||
UserId = 1,
|
||||
};
|
||||
var flowRepos = fsql.GetRepository<FlowModel>();
|
||||
flowRepos.Insert(flow);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
flow = new FlowModel() {
|
||||
CreateTime = DateTime.Now,
|
||||
Name = "aaa",
|
||||
LastModifyTime = DateTime.Now,
|
||||
UserId = 1,
|
||||
};
|
||||
using (var uow = fsql.CreateUnitOfWork()) {
|
||||
flowRepos = uow.GetRepository<FlowModel>();
|
||||
flowRepos.Insert(flow);
|
||||
uow.Commit();
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
flow = new FlowModel()
|
||||
{
|
||||
CreateTime = DateTime.Now,
|
||||
Name = "aaa",
|
||||
LastModifyTime = DateTime.Now,
|
||||
UserId = 1,
|
||||
};
|
||||
using (var uow = fsql.CreateUnitOfWork())
|
||||
{
|
||||
flowRepos = uow.GetRepository<FlowModel>();
|
||||
flowRepos.Insert(flow);
|
||||
uow.Commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void UnitOfWorkRepositoryWithDisableBeforeInsert()
|
||||
{
|
||||
foreach (var fsql in new[] { g.sqlite, })
|
||||
foreach (var fsql in new[] { g.sqlite, })
|
||||
{
|
||||
fsql.CodeFirst.ConfigEntity<FlowModel>(f => {
|
||||
fsql.CodeFirst.ConfigEntity<FlowModel>(f =>
|
||||
{
|
||||
f.Property(b => b.UserId).IsPrimary(true);
|
||||
f.Property(b => b.Id).IsPrimary(true).IsIdentity(true);
|
||||
f.Property(b => b.Name).IsNullable(false);
|
||||
@ -129,7 +143,7 @@ namespace FreeSql.Tests {
|
||||
};
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ݣ<EFBFBD>Ϊ<EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
flowRepos.Delete(a => a.UserId == 1 &&a.Name== "aaa");
|
||||
flowRepos.Delete(a => a.UserId == 1 && a.Name == "aaa");
|
||||
|
||||
using (var uow = fsql.CreateUnitOfWork())
|
||||
{
|
||||
@ -140,7 +154,7 @@ namespace FreeSql.Tests {
|
||||
//<2F>ѹرչ<D8B1><D5B9><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>ύ<EFBFBD><E1BDBB>ûӰ<C3BB>죬<EFBFBD>˴<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ر<EFBFBD><D8B1>ˣ<EFBFBD><CBA3><EFBFBD>CommitҲӦ<D2B2>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//uow.Commit();
|
||||
}
|
||||
|
||||
|
||||
Assert.True(flowRepos.Select.Any(a => a.UserId == 1 && a.Name == "aaa"));
|
||||
}
|
||||
|
||||
@ -149,7 +163,7 @@ namespace FreeSql.Tests {
|
||||
[Fact]
|
||||
public void UnitOfWorkRepositoryWithDisableAfterInsert()
|
||||
{
|
||||
foreach (var fsql in new[] {g.sqlite,})
|
||||
foreach (var fsql in new[] { g.sqlite, })
|
||||
{
|
||||
fsql.CodeFirst.ConfigEntity<FlowModel>(f =>
|
||||
{
|
||||
@ -227,35 +241,37 @@ namespace FreeSql.Tests {
|
||||
}
|
||||
|
||||
|
||||
public partial class FlowModel {
|
||||
public int UserId { get; set; }
|
||||
public int Id { get; set; }
|
||||
public int? ParentId { get; set; }
|
||||
public string Name { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
public DateTime LastModifyTime { get; set; }
|
||||
public string Desc { get; set; }
|
||||
}
|
||||
public partial class FlowModel
|
||||
{
|
||||
public int UserId { get; set; }
|
||||
public int Id { get; set; }
|
||||
public int? ParentId { get; set; }
|
||||
public string Name { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
public DateTime LastModifyTime { get; set; }
|
||||
public string Desc { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AsType() {
|
||||
g.sqlite.Insert(new AddUpdateInfo()).ExecuteAffrows();
|
||||
[Fact]
|
||||
public void AsType()
|
||||
{
|
||||
g.sqlite.Insert(new AddUpdateInfo()).ExecuteAffrows();
|
||||
|
||||
var repos = g.sqlite.GetGuidRepository<object>();
|
||||
repos.AsType(typeof(AddUpdateInfo));
|
||||
var repos = g.sqlite.GetGuidRepository<object>();
|
||||
repos.AsType(typeof(AddUpdateInfo));
|
||||
|
||||
var item = new AddUpdateInfo();
|
||||
repos.Insert(item);
|
||||
repos.Update(item);
|
||||
var item = new AddUpdateInfo();
|
||||
repos.Insert(item);
|
||||
repos.Update(item);
|
||||
|
||||
item.Clicks += 1;
|
||||
repos.InsertOrUpdate(item);
|
||||
item.Clicks += 1;
|
||||
repos.InsertOrUpdate(item);
|
||||
|
||||
var item2 = repos.Find(item.Id) as AddUpdateInfo;
|
||||
Assert.Equal(item.Clicks, item2.Clicks);
|
||||
var item2 = repos.Find(item.Id) as AddUpdateInfo;
|
||||
Assert.Equal(item.Clicks, item2.Clicks);
|
||||
|
||||
repos.DataFilter.Apply("xxx", a => (a as AddUpdateInfo).Clicks == 2);
|
||||
Assert.Null(repos.Find(item.Id));
|
||||
}
|
||||
}
|
||||
repos.DataFilter.Apply("xxx", a => (a as AddUpdateInfo).Clicks == 2);
|
||||
Assert.Null(repos.Find(item.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user