我的表单需要访问路由参数和数据.它们是可观察的,所以我需要订阅才能访问它们的值.我的问题是,如何在一次订阅中同时访问它们?
this._route.params.subscribe(
params => {
getData(params['id'], data['id2'] <=== i need data value too. how do i get this???)
});
Run Code Online (Sandbox Code Playgroud)
为什么棱角分裂将它们放在两个独立的可观测量中?
执行此查询时,我看到奇怪的结果
update sd_invodt set line_type=iif(is_promo=1, 'campaign', 'item')
Run Code Online (Sandbox Code Playgroud)
line_type字段中的值为"item ".有价值的空白.但是当我执行这个查询时
update sd_invodt set line_type='item'
Run Code Online (Sandbox Code Playgroud)
我没有白色空间.
现在我必须使用trim作为解决方法
update sd_invodt set line_type=trim(iif(is_promo=1, 'campaign', 'item'))
Run Code Online (Sandbox Code Playgroud)
我使用最新的firebird 2.5.Line_type是varchar(15).
这是Firebird中的错误吗?
编辑
我已经使用新数据库进行了测试,问题仍然存在.
我有一个关于处理对象的问题.
考虑这个IDisposable课程
public class MyClass : DisposableParentClass
{
private MyProp _prop;
public MyClass(MyProp prop)
{
_prop = prop;
}
public MyClass()
{
_prop = new MyProp();
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
_prop.Dispose();
}
base.Dispose(disposing);
}
}
Run Code Online (Sandbox Code Playgroud)
在第一个构造函数上,MyProp注入.所以MyClass不是对象的所有者.但是在第二个构造函数上,MyProp是在本地创建的.我是否应该一直处理MyProp,或者我应该先检查它是否注入.
public class MyClass : DisposableParentClass
{
private MyProp _prop;
private bool _myPropInjected = false;
public MyClass(MyProp prop)
{
_prop = prop;
_myPropInjected = true;
}
public MyClass()
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用 Entity Framework 6 和 Automapper 将实体映射到 dtos。
我有这个型号
public class PersonDto
{
public int Id { get; set; }
public string Name { get; set; }
public AddressDto Address { get; set; }
}
public class AddressDto
{
public int Id { get; set; }
public string Street { get; set; }
public string City { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我使用 automapper Queryable Extension从实体映射 dto。
var personDto = dbContext.People.Project().To<PersonDto>();
Run Code Online (Sandbox Code Playgroud)
上述方法的问题在于,它会使 EF 始终加载地址实体。我希望仅当我使用 include(x => x.Address) 明确告诉他们时才加载地址。如果我在自动映射器映射中指定ignore(),则不会加载地址。是否可以告诉自动映射器在运行时忽略地址属性?我正在使用的自动映射器可查询扩展不支持“条件或映射后”等所有功能。有什么解决方法吗?
我目前被分配到使用实体框架的asp mvc项目.这将是一个业务线应用程序.我想使用存储库和工作单元模式开发此应用程序.我是这个模式的新手(也是.net的新手),我在理解模式以及如何实现它时遇到了问题.
我已阅读了大量文章,我认为这就是我的应用程序应该如何
实体框架 - >存储库 - >工作单元 - >客户端(Asp MVC)
using System;
using ContosoUniversity.Models;
namespace ContosoUniversity.DAL
{
public class UnitOfWork : IDisposable
{
private SchoolContext context = new SchoolContext();
private GenericRepository<Department> departmentRepository;
private GenericRepository<Course> courseRepository;
public GenericRepository<Department> DepartmentRepository
{
get
{
if (this.departmentRepository == null)
{
this.departmentRepository = new GenericRepository<Department>(context);
}
return departmentRepository;
}
}
public GenericRepository<Course> CourseRepository
{
get
{
if (this.courseRepository == null)
{
this.courseRepository = new GenericRepository<Course>(context);
}
return courseRepository;
}
}
public …Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc design-patterns domain-driven-design entity-framework
我有一个客户和销售表
CUSTOMER
--------------
Id (int auto increment)
Name
SALES
---------------
Id (int auto increment)
CustomerId (int)
OrderTotal (decimal)
Run Code Online (Sandbox Code Playgroud)
有了Guid,我可以做到这一点.
dbTransaction = dbContext.Database.BeginTransaction(isolationLevel);
var customer = new Customer()
{
Id = Guid.NewGuid(),
Name = "John Doe"
};
var sales = new Sales()
{
Id = Guid.NewGuid(),
CustomerId = customer.Id,
OrderTotal = 500
};
dbContext.SaveChanges();
dbTransaction.Commit();
Run Code Online (Sandbox Code Playgroud)
如果我的主键是int(使用DatabaseGeneratedOption.Identity),我该怎么做?
如何在我的应用程序中为我的实体生成guid,这些实体将由实体框架存储到sql azure.
现在我用Id = Guid.NewGuid().它是否正确?
编辑
为了澄清我为什么要这样做,下面是我的解释
我的朋友告诉我,sql server可以使用"NewID()"生成guid.现在我使用"Guid.NewGuid()"在我的应用程序中生成guid.我应该使用哪一个?对我来说,我目前的方法更方便,因为我甚至在将其保存到数据库之前就获得了guid值.每种方法的上/下方是什么?
我有一个查询,基本上可以找到特定日期范围内某些商品的最后成本。
select first 1 lastcost from stock
where itemid = :itemid and date > :startdate and date < :enddate
order by date desc
Run Code Online (Sandbox Code Playgroud)
此查询需要几秒钟才能完成数百万条记录,因为“>”不使用索引。如果我按年/月拆分查询并迭代直到达到开始日期(假设每月有 100 万条记录),会更快吗?
while (endate > startdate) do
begin
var_year = extract(year from :endate);
var_month = extract(month from :endate);
select first 1 lastcost from stock
where itemid = :itemid and year=:var_year and month=:var_month
order by date desc
enddate = dateadd (-1 month to enddate);
end
Run Code Online (Sandbox Code Playgroud)
这几天我无法访问 Firebird,所以我自己无法尝试。
我如何安全地中止/取消当前正在运行的查询/事务。使用 gfix -shut 可能会损坏数据库。我正在使用delphi和firebird 2.5
预先感谢雷纳尔迪
我有这条路
.state('mystate', {
url: '/{id}',
templateUrl: '/views/partial.html'
});Run Code Online (Sandbox Code Playgroud)
id param应该是像这样的"2a542f61-5fff-4607-845d-972e6c3ad1e4"形式的guid.我如何在网址"url:'/ {id:?我应该放在这里}}"中添加这个.
首先,对不起,如果标题有点令人困惑.
我打算开发一个小型的erp应用程序.这个应用程序将使用插件/插件.此插件可能会添加或扩展基本应用程序的某些模块.
例如,我有TCustomer类,其属性为"id","name".插件1将添加属性"dateofbirth".插件2将添加属性"balance"和方法"GetBalance".
插件1和插件2彼此不了解.可能安装了插件1而不是插件2,反之亦然.所以这两个插件都必须继承基本的tcustomer类.
问题是当两个插件都安装完毕.如何在两个插件中获得扩展属性?我还必须扩展表单以添加控件以显示新属性.
可以用delphi完成吗?实现这一目标的最佳方法是什么?也许你可以指点我的一些例子?
谢谢,对不起我可怜的英国人Reynaldi
我需要从网址获取版本没有部分.网址将如下所示" http://myweb.com/api/v1/customer ".我需要从网址获取"1"值.我怎样才能做到这一点?
提前致谢
c# ×6
firebird ×3
delphi ×2
sql ×2
sql-server ×2
.net ×1
angular ×1
angular-ui ×1
angularjs ×1
asp.net-mvc ×1
automapper ×1
automapper-3 ×1
firebird2.5 ×1
javascript ×1
regex ×1