我刚刚第一次设置了NHibernate.我的平台和配置设置如下:
我用测试项目创建了一个测试MVC应用程序.然后,为了测试NHibernate连接,我使用以下测试夹具:
using IBCService.Models;
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
using NUnit.Framework;
namespace IBCService.Tests
{
[TestFixture]
public class GenerateSchema_Fixture
{
[Test]
public void Can_generate_schema()
{
var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof(Product).Assembly);
new SchemaExport(cfg).Execute(false, true, false);
}
}
Run Code Online (Sandbox Code Playgroud)
Nhibernate配置文件:
<?xml version="1.0" encoding="utf-8"?>
<!-- This config use Oracle Data Provider (ODP.NET) -->
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="NHibernate.Test">
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="connection.connection_string">
User ID=TEST;Password=******;Data Source=//RAND
</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="show_sql">false</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个非常基本的unittest.TestCase类,只是为了检查我知道该怎么做.但是,当我尝试运行测试时,它不会执行它们.我写了一段非常基本的代码,理论上应该运行1次测试,但它一直说它没有运行.这是我写的:
import unittest
class c(unittest.TestCase):
kv = ((1, 2), (3, 4))
def cc(self):
for k, v in self.kv:
res = tothis(k)
self.assertEqual(v, res)
Run Code Online (Sandbox Code Playgroud)
该函数res没有编写,但是没关系,因为在这个阶段我不关心测试是否失败,我只是想看看我是否可以运行它们.
在编写代码后,我应该可以运行这样的测试:
unittest.main()
Run Code Online (Sandbox Code Playgroud)
它只是说它没有运行测试,但它应该运行测试self.assertEqual.为什么不运行测试?
我来自PHP背景,由于过去缺少名称空间,我使用了Zend Framework样式的"包".例如,如果我有一个抽象类Player和子Player_Human,Player_DumbComputer,Player_Minimax等,我会将Player放在主目录中并将其子项放在目录/ Player /中.它试图在Java中做类似的事情,但我得到了一个名字冲突 - 我有一个包blah.Player和一个类blah.Player.我该如何避免这种情况?关于这个的常见做法是什么?
为什么这个方法(测试)需要一个返回值(它总是如此)?
public boolean test() { //This method must return a result of type boolean
if (true) {
return true; // always return true
}
}
Run Code Online (Sandbox Code Playgroud)
当我添加返回值时,它会警告为"死代码".那么,为什么不接受第test()一种方法
public boolean test(int i) {
if (true) {
return true;
} else { //Dead code
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个带有这个定义的类TaskWeekUI:
public class TaskWeekUI {
public Guid TaskWeekId { get; set; }
public Guid TaskId { get; set; }
public Guid WeekId { get; set; }
public DateTime EndDate { get; set; }
public string PersianEndDate { get; set; }
public double PlanProgress { get; set; }
public double ActualProgress { get; set; } }
Run Code Online (Sandbox Code Playgroud)
我写了这个查询:
TaskWeekUI ti = tis.First( t => t.PlanProgress > 0 && t.EndDate == tis.Where(p => p.PlanProgress != null && p.PlanProgress > 0).Max(w => w.EndDate));
Run Code Online (Sandbox Code Playgroud)
这个查询是真的吗?我能比这更好地写出我的查询吗?
我正在阅读Zed Shaw的Python书.我目前正致力于开放和阅读文件章节.我想知道为什么我们需要做截断,当我们已经在'w'模式下打开文件?
print "Opening the file..."
target = open(filename, 'w')
print "Truncating the file. Goodbye!"
target.truncate()
Run Code Online (Sandbox Code Playgroud) 我正在编写一个clojure中的应用程序,它需要保留其数据,但如果丢失了一些数据,那么它不是灾难性的.我想知道每次我想访问数据时是否应该使用ClojureQL,或者我应该使用STM + ClojureQL,只是在更新/写入时异步保存数据.有谁知道每种方法的任何优点/缺点.有没有人尝试过异步持久化方法?
我偶然发现了一些奇怪的LINQ to SQL行为 - 有人可以对此有所了解吗?
我想定义一个lambda表达式并在我的LINQ语句中使用它.以下代码工作正常:
[...]
Func<Table1, bool> lambda = x => x.Id > 1000;
var result = dataContext.Table1s.Where(lambda);
[...]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在关联表的语句中使用我的lambda表达式时
[...]
Func<Table1, bool> lambda = x => x.Id > 1000;
var result = dataContext.Table2s.Where(x => x.Table1s.Any(lambda));
[...]
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
Unsupported overload used for query operator 'Any'.
Run Code Online (Sandbox Code Playgroud)
但是,我没有得到:当我将lambda直接放入查询时,它工作正常:
[...]
var result = dataContext.Table2s.Where(x => x.Table1s.Any(y => y.Id > 1000));
[...]
Run Code Online (Sandbox Code Playgroud)
为什么?!
谢谢.
python ×3
java ×2
c# ×1
caching ×1
clojure ×1
django ×1
html ×1
if-statement ×1
javascript ×1
jquery ×1
linq ×1
linq-to-sql ×1
max ×1
nhibernate ×1
package ×1
persistence ×1
photo ×1
unit-testing ×1
where ×1