有人能告诉我如何让MS Entity Framework与PostgreSQL一起使用.
另外:Entity Framewok如何与Mono合作?你能否建议其他类似的ORM工具可以在Mono上运行,你对它们有什么看法?
我有一个关于SQL Server性能的问题.
假设我有一个表persons有以下栏目:id,name,surname.
现在,我想在此表中插入一个新行.规则如下:
如果id表中没有,则插入行.
如果id存在,则更新.
我这里有两个解决方案:
第一:
update persons
set id=@p_id, name=@p_name, surname=@p_surname
where id=@p_id
if @@ROWCOUNT = 0
insert into persons(id, name, surname)
values (@p_id, @p_name, @p_surname)
Run Code Online (Sandbox Code Playgroud)
第二:
if exists (select id from persons where id = @p_id)
update persons
set id=@p_id, name=@p_name, surname=@p_surname
where id=@p_id
else
insert into persons(id, name, surname)
values (@p_id, @p_name, @p_surname)
Run Code Online (Sandbox Code Playgroud)
什么是更好的方法?看起来在第二个选择中,要更新一行,它必须被搜索两次,而在第一个选项中 - 只需一次.这个问题还有其他解决方案吗?我正在使用MS SQL 2000.
我正在考虑使用规范模式进行验证.困难的是如何告诉用户为什么某些规范不满意.如果Specification.IsSatisfiedBy()不仅会返回一个bool值,而且还会失败的原因怎么办?它看起来像这样:
interface ISpecification<T>
{
CheckResult IsSatisfiedBy(T candidate);
}
Run Code Online (Sandbox Code Playgroud)
在哪里CheckResult:
class CheckResult
{
public bool IsSatisfied { get; }
public string FailureReason { get; }
}
Run Code Online (Sandbox Code Playgroud)
在Fowler&Evans的工作中,有一个部分满足规范的概念,其目的是提供解释究竟不满足的内容.但是在该文档中,它被实现为附加方法remainderUnsatisfiedBy,它返回候选者未完成的规范.
所以问题是:当使用规范进行验证时,如何向用户提供不满足给定规范的反馈?我上面介绍的解决方案是否合适?
是否可以从Postgres函数返回多个结果集,如在MSSQL中:
CREATE PROCEDURE test
AS
SELECT * FROM first_table
SELECT * FROM second_table
Run Code Online (Sandbox Code Playgroud) [ 编辑插入:可能重复同一张海报的早期问题?]
嗨,我需要从文件中提取:
first
second
third
Run Code Online (Sandbox Code Playgroud)
使用grep命令,以下行:
second
third
Run Code Online (Sandbox Code Playgroud)
grep命令应该如何?
有没有办法将事件记录到Windows事件日志中,并且每条消息都有指定的eventid?我正在使用log4net v 1.2.10.
我需要在修改后重新加载配置文件.如何使用appdomains完成此操作?代码示例很有用.
我有一个与实体验证有关的问题.作为一个例子,有一个User可以注册到给定的系统email和password.业务规则说:
email 必须有效(必须符合电子邮件格式)和独特;password 应该在6到20个字符之间.我最初的想法是将验证置于其中User.Register(email, password).这种方法的主要优点User是通过验证注册数据的正确性来控制注册方式.缺点是电子邮件唯一性验证需要调用UserRepository,因此User可能依赖于它Repository.要解决此问题,可能会对某些BusinessRule对象进行电子邮件和密码验证.所以User.Register()方法中的验证可能如下所示:
var emailValidationErrors = _emailRule.Validate(email);
var passwordValidationErrors = _passwordRule.Validate(password);
Run Code Online (Sandbox Code Playgroud)
where _emailRule和_passwordRule可能作为构造函数参数传递:User(EmailRule emailRule, PasswordRule passwordRule).
在这个casse User不直接耦合UserRepository.通过这种方式,规则在域中明确显示,这使其更具表现力.
所以问题是:你对这种方法有什么看法?还有其他解决方案吗?
我正在尝试获取所有当前正在运行的任务的列表..net 4.0任务API是否提供此类功能?或者唯一的选择是明确地将任务存储在单独的集合中?
假设我有一个实现IQueryable<>(继承IEnumerable<>)接口的类.
当我Where()在其上调用方法时,编译器会将此调用解析为IQueryable扩展,尽管IEnumerable扩展也Where()定义了方法.
问题是编译器如何理解应该调用哪个扩展?
c# ×3
.net ×2
postgresql ×2
bash ×1
grep ×1
log4net ×1
plpgsql ×1
sql-server ×1
t-sql ×1
validation ×1