49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
using BaseOUDAL;
|
|
|
|
namespace YLErp.BasicTests
|
|
{
|
|
[TestClass]
|
|
public class EfQueryTest : UnitTestBase
|
|
{
|
|
[TestMethod("测试Linq ToDictionary是否支持函数处理")]
|
|
public void Test1()
|
|
{
|
|
var db = DbContextFactory.GetYLDbContext();
|
|
|
|
var priceDic = db.eod_commodity_future_price.Where(e =>
|
|
e.UnderlyingCode == "RB00" &&
|
|
e.ValueDate >= new DateTime(2021, 1, 1) &&
|
|
e.ValueDate <= new DateTime(2021, 12, 1)).OrderBy(e => e.ValueDate)
|
|
.ToDictionary(e => e.ValueDate, e => e.GetPrice(SettlementTypeEnum.ReferencePrice));
|
|
|
|
Assert.IsNotNull(priceDic);
|
|
}
|
|
|
|
[TestMethod("测试Char类型")]
|
|
public void TestChar()
|
|
{
|
|
var db = new YLContext2();
|
|
|
|
var data = db.Set<ExchangeListOption2>().FirstOrDefault(e => e.ContractCode == "RB00-C-5000");
|
|
|
|
Assert.IsTrue(!string.IsNullOrEmpty(data.UpdateFlag) && data.UpdateFlag[0] == '0');
|
|
|
|
data = db.Set<ExchangeListOption2>().FirstOrDefault(e => e.ContractCode == "RB00-P-5000");
|
|
|
|
Assert.IsTrue(string.IsNullOrEmpty(data.UpdateFlag) || data.UpdateFlag[0] != '0');
|
|
}
|
|
|
|
class YLContext2: DBContextBase
|
|
{
|
|
protected override string GetConnectionString() => AppManager.GetConnectionString("ylcms");
|
|
|
|
public DbSet<ExchangeListOption2> ExchangeListOption2 { get; set; }
|
|
}
|
|
|
|
class ExchangeListOption2 : ExchangeListOption
|
|
{
|
|
public string UpdateFlag { get; set; }
|
|
}
|
|
}
|
|
}
|