我正在尝试编写单元测试来执行 oracle 查询以过滤对象的内存列表。
我如何模拟以便过滤条件将应用于我的内存对象列表而不是实际数据库?
我可以使用实体框架来实现这一点,我可以在其中模拟上下文并返回内存数据,但不知道如何使用OracleCommand.ExecuteReader.
using (var connection = new OracleConnection(connectionString))
{
connection.Open();
var cmd = new OracleCommand
{
//TODO add Reg_Date in Where clause
Connection = connection,
CommandText =
"SELECT mi.* from fromTable mi where 1=1 "
+ (string.IsNullOrEmpty(nuf) ? "" : " and mi.NUF != '"+ nuf +"'")
+ " and mi.Category<>'TES' and mi.Category<>'CVD'"
CommandType = CommandType.Text
};
Debug.WriteLine(cmd.CommandText);
var dr = cmd.ExecuteReader();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过此活动从现有的 .edmx 项目克隆到代码。
我有两个实体。我想在不创建新表的情况下拥有多对多关系。我正在使用 EF Core 2.0 代码优先方法。
请在我创建的实体下方找到。我不确定这是否是正确的方法。
我想在两个表上都有外键列,即。WorkCase 和 Workflow 表上的 WorkflowId 和 WorkCaseId。
public class WorkCase
{
[Key]
public int WorkCaseId { get; set; }
public int WorkflowId { get; set; }
public int CaseDetailId {get;set;}
public CaseDetail CaseDetail {get;set;}
public WorkFlow WorkFlow { get; set; }
public ICollection<WorkFlow> WorkFlows { get; set; }
}
public class WorkFlow : BaseEntity
{
[Key]
public int WorkFlowId { get; set; }
public string Comment { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我的角度应用程序中有两个下拉菜单。第二个是根据第一个下拉值填充的。我正在使用切换映射。只要没有错误就可以正常工作。一旦没有值填充第二个下拉列表并且出现错误,当我更改第一个下拉列表中的值时,不会发生后续调用。我在这里做错了什么吗?
这是我的代码:
private customListItems$ = this.auditFilterService.subjectType$ // this is first option value
.pipe(
takeUntil(this.destroy$),
filter(x => x && x !== ''),
switchMap((selectedSubjectType) => {
const result = this.customListsService.getCustomListItemsByTypeName({
typeName: selectedSubjectType,
onlyActive: true
} as CustomListItemsByLocationParams);
return result;
}),
catchError(err => {
console.log('error', err);
return of(undefined);
})
);
Run Code Online (Sandbox Code Playgroud) 我正在做代码首次EF Core 2.0迁移.我有几列在所有实体中都很常见.所有实体都继承此类,如下所示.
如何将CreateDate的默认值设置为当前日期,将CreateBy设置为"System"并将IsDeleted设置为0?
public class BaseEntity
{
public DateTime CreateDate { get; set; }
public string CreateBy { get; set; }
public bool IsDeleted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我知道如何为一个属性做这个.即.
class MyContext : DbContext
{
public DbSet<CaseDetails> CaseDetails{ get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<CaseDetail>()
.Property(b => b.CreateDate)
.HasDefaultValueSql("getutcdate()");
modelBuilder.Entity<CaseDetail>()
.Property(b => b.CreateBy)
.HasDefaultValue("System");
modelBuilder.Entity<CaseDetail>()
.Property(b => b.IsDeleted)
.HasDefaultValue("0()");
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我以有效的方式做到这一点,以便它可用于所有实体吗?
谢谢
我为我的asp.net webapi配置了Swagger,类似于下面显示的一个
[HttpGet]
[Route("search")]
public async Task<HttpResponseMessage> Get([FromUri]SearchCriteria searchCriteria)
Run Code Online (Sandbox Code Playgroud)
当我看到webapi的swagger文档时,参数显示为
searchCriteria.sortField searchCriteria.sortDirection等等...作为sortField,sortDirection是SearchCriteria的属性
如何在没有object.propertyname格式的情况下获取参数名称?
任何人都可以帮忙解决这个问题吗?谢谢
我在我的 angular2 应用程序中使用 Primeng。我需要一个简单的按钮,并希望在按钮悬停时更改背景颜色。任何人都可以帮助如何实现这一目标?请在下面找到我的代码:
<button pButton type="button" label="{{item}}" class="reasonButton"></button>
.reasonButton{
background-color:#ececec;
color:#000;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 asp.net core webapi 和 azure cosmosdb 开发应用程序。我需要从对象列表中找到一个项目。我对 linq 没有经验。在下面的 json 中,我需要找到一个拥有 learnerId": "123" 的部门 id。我期待输出如下:
"id": "7d65fa4c-86ed-4e07-9e9a-a1583df5715c"
部门:
[
{
"name": "Emp1",
"edsNumber": "",
"sectors": [
{
"id": "7d65fa4c-86ed-4e07-9e9a-a1583df5715c",
"name": "Technology1",
"learners": [
{
"learnerId": "123",
"learnerName": "Learner1",
"dateAdded": 1612872051
},
{
"learnerId": "456",
"learnerName": "Learner2",
"dateAdded": 1612877369
},
{
"learnerId": "789",
"learnerName": "Learner3",
"dateAdded": 1612877372
},
{
"learnerId": "12314",
"learnerName": "Learner4",
"dateAdded": 1613065233
},
{
"learnerId": "2346",
"learnerName": "Learner5",
"dateAdded": 1613577350
}
],
"course": {
"name": "Angularv10",
"isCompleted": …Run Code Online (Sandbox Code Playgroud) 有可能演员IEnumerable<IEnumerable<T>> to List<List<T>>吗?如果我这样做,我将收到无效的强制转换异常.
谢谢
我是角质材料的新手.我正在尝试使用角度材料来实现警报以显示消息,这在引导警报中是相似的,即.
<div class="alert alert-success" role="alert">
<strong>Well done!</strong> You successfully read this important alert message.
</div>
<div class="alert alert-info" role="alert">
<strong>Heads up!</strong> This alert needs your attention, but it's not super important.
</div>
<div class="alert alert-warning" role="alert">
<strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>
<div class="alert alert-danger" role="alert">
<strong>Oh snap!</strong> Change a few things up and try submitting again.
</div>
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我在角材料中实现最佳方法是什么?
非常感谢
我正在尝试从 C# 调用 sql 存储过程。我有以下代码来创建 DataColumn。但是在添加可为空的 Guid 和 DateTime 类型时创建 DataTable 时出现错误。
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]
{
new DataColumn(nameof(LearnerEntity.FirstName), typeof(string)),
new DataColumn(nameof(LearnerEntity.DateOfBirth), typeof(DateTime?)),
new DataColumn(nameof(LearnerEmployerEntity.SectorId), typeof(Guid?)),
new DataColumn(nameof(LearnerEntity.EPortfolioId), typeof(int?))
});
dt.Rows.Add(
learnerEntity.FirstName,
learnerEntity.DateOfBirth ?? SqlDateTime.Null,
learnerEntity.Employer?.SectorId ?? SqlGuid.Null.Value,
learnerEntity.EPortfolioId ?? SqlInt32.Null.Value);
Run Code Online (Sandbox Code Playgroud)
错误是:
DataSet does not support System.Nullable<>.
Run Code Online (Sandbox Code Playgroud)
谁能帮助我我在这里做错了什么?
我正在尝试以下操作:
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]
{
new DataColumn(nameof(LearnerEntity.FirstName), typeof(string)),
new DataColumn(nameof(LearnerEntity.DateOfBirth), Nullable.GetUnderlyingType(typeof(LearnerEmployerEntity).GetProperty("DateOfBirth").PropertyType)),
new DataColumn(nameof(LearnerEmployerEntity.SectorId), Nullable.GetUnderlyingType(typeof(LearnerEmployerEntity).GetProperty("SectorId").PropertyType)),
new DataColumn(nameof(LearnerEntity.EPortfolioId), Nullable.GetUnderlyingType(typeof(LearnerEmployerEntity).GetProperty("EPortfolioId").PropertyType))
});
dt.Rows.Add(
learnerEntity.FirstName,
learnerEntity.DateOfBirth ?? SqlDateTime.Null,
learnerEntity.Employer?.SectorId ?? …Run Code Online (Sandbox Code Playgroud) c# ×5
ado.net ×1
angular11 ×1
angularjs ×1
ienumerable ×1
linq ×1
list ×1
moq ×1
oracle11g ×1
primeng ×1
rxjs ×1
swagger ×1
swagger-ui ×1
swashbuckle ×1
unit-testing ×1