令我彻底混淆的一件事是使用session.Flush,和session.Commit,和session.Close.
有时session.Close工作,例如,它提交我需要的所有更改.我知道我需要在有事务时使用提交,或者需要在具有多个创建/更新/删除的工作单元中使用提交,以便我可以选择在发生错误时回滚.
但有时我真的被后面的逻辑所困扰session.Flush.我已经看到了一些示例,其中有一个session.SaveOrUpdate()后续的同花顺,但是当我删除Flush时它无论如何都能正常工作.有时我在Flush语句中遇到错误,说会话超时,并删除它确保我没有遇到该错误.
有没有人有关于何时何地使用同花顺的良好指导方针?我已经检查了NHibernate文档,但我仍然找不到简单的答案.
我正在寻找一个.net模板引擎 - 简单,轻量,稳定,没有太多的依赖.我目前所需要的只是创建模板化的纯文本和HTML电子邮件.谁能给我一个好的推荐?
如果它有帮助 - 比如Java的Freemarker或Velocity库.
[更新]感谢迄今为止的答案 - 非常感谢.当你使用这些库时,我真的很喜欢推荐或战争故事.似乎是在不依次尝试每个决策的情况下做出决定的最佳方式.
作为实践测试驱动开发的新手,我常常陷入困境,如何将持久性单元测试数据库.
我知道技术上这将是一个集成测试(不是单元测试),但我想找到以下最佳策略:
这些最佳做法是什么?
关于测试SQL:我知道这可以做到,但如果我使用像NHibernate这样的O/R Mapper,它会在用于输出查询的别名中附加一些命名瑕疵,因为这有点不可预测我不确定我可以测试一下.
我应该放弃一切,只是信任NHibernate吗?我不确定这是谨慎的.
我想做的是我正在制作一个生命游戏计划.我想花时间延迟并优先考虑,但我想让人们可以在特定时间输入.数字可以是几毫秒或几秒.
然而,我有点坚持如何继续,我还没有找到一个已经处理过的简单偏好,但可能有一个.是否有一种简单的方法来确定此偏好并确认输入的数据是整数还是漂浮?
我遇到序列化和对象的问题,我可以让它创建所有正确的输出,除了我有一个需要值和属性的元素.这是必需的输出:
<Root>
<Method>Retrieve</Method>
<Options>
<Filter>
<Times>
<TimeFrom>2009-06-17</TimeFrom>
</Times>
<Document type="word">document name</Document>
</Filter>
</Options>
</AdCourierAPI>
Run Code Online (Sandbox Code Playgroud)
我可以构建所有它但无法找到设置Document类型属性的方法,这里是对象类的一部分
[XmlRoot("Root"), Serializable]
public class Root
{
[XmlElement("Method")]
public string method="RetrieveApplications";
[XmlElement("Options")]
public _Options Options;
}
public class _Options
{
[XmlElement("Filter")]
public _Filter Filter;
}
public class _Filter
{
[XmlElement("Times")]
public _Times Times;
[XmlElement("Documents")]
public string Documents;
}
Run Code Online (Sandbox Code Playgroud)
这给了我:
<Document>document name</Document>
Run Code Online (Sandbox Code Playgroud)
而不是:
<Document type="word">document name</Document>
Run Code Online (Sandbox Code Playgroud)
但是我找不到纠正这个的方法,请指教.
谢谢
我现在正在建立一个网站,到目前为止,我痛苦地强迫所有内容都符合要求,并且它在浏览器中看起来几乎相同.但是,我开始实现一些第三方/免费javascripts,它们可以添加属性(例如order = 2).我可以解决这个问题,但这很痛苦,我开始失去确保一切都有效的原则.真的,有什么意义可以解决这样的问题吗?我获得了Firefox的HTMLValidator插件,并查看了大多数主要网站(包括这一个,谷歌等),它们不是有效的XHTML或HTML.
最终编辑:我找到了问题的解决方案(在问题的底部).
我有一个让你感到悲伤的Nunit问题.编辑:实际上它看起来更像是一个SQLite问题,但我还不是100%肯定.
我的TestFixture有一个设置,可以生成一个随机文件名,在我的每个测试中都用作SQLite数据库.
[Setup]
public void Setup()
{
// "filename" is a private field in my TestFixture class
filename = ...; // generate random filename
}
Run Code Online (Sandbox Code Playgroud)
我的每个测试都在访问数据库的每个方法中使用此构造:
[Test]
public void TestMethod()
{
using (var connection = Connect())
{
// do database activity using connection
// I've tried including this line but it doesn't help
// and is strictly unnecessary:
connection.Close();
}
}
private DbConnection Connect()
{
var connection = DbProviderFactories.GetFactory("System.Data.SQLite").CreateConnection();
connection.ConnectionString = "Data Source=" + filename;
connection.Open(); …Run Code Online (Sandbox Code Playgroud) 与静态类型语言相比,是什么使得加速动态类型语言变得困难.换句话说,静态类型语言的固有属性是什么使它们易于优化执行速度?
刚读完这篇博文:http://www.skorks.com/2010/03/an-interview-question-that-prints-out-its-own-source-code-in-ruby/
在其中,作者辩称使用quine作为面试问题的案例.我不确定我是否同意,但这不是这个问题的内容.
他继续在Ruby中构建一个quine并重构它以缩短它.然后他挑战读者,试着让它更短.
我玩了一会儿,想出了以下内容:
s="s=;puts s[0,2]+34.chr+s+34.chr+s[2,36]";puts s[0,2]+34.chr+s+34.chr+s[2,36]
Run Code Online (Sandbox Code Playgroud)
这是我第一次尝试过quine,我无法弄清楚如何缩短它.
你能想出的最短的Ruby quine是什么?如果您的实施需要,请发布解释.
unit-testing ×2
.net ×1
android ×1
asp.net ×1
c# ×1
flush ×1
html ×1
ioexception ×1
nhibernate ×1
nunit ×1
quine ×1
ruby ×1
session ×1
sql-server ×1
sqlite ×1
tdd ×1
templates ×1
viewengine ×1
xhtml ×1