我是NHibernate这个伟大世界的新手.我使用的是2.0.1.GA版.这是我的问题.我有一个Cars包含列Manufacturer(nvarchar(50))和主键的表ID(int).我的.NET类是:
public class Car
{
public virtual int ID { get; set; }
public virtual string Manufacturer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想要检索梅赛德斯生产的所有汽车,我必须输入:
using (var session = OpenSession())
{
var cars = session
.CreateCriteria(typeof(Car))
.Add(Restrictions.Like("Manufacturer", "Mercedes"))
.List();
// ...
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢这样的事实,我需要将属性名称指定为字符串:(是否可能有更多的重构友好(这只是一个建议)?
var ms = session
.CreateCriteria<Car>()
.Add(c => c.Manufacturer, Restrictions.Like("Mercedes")
.List();
Run Code Online (Sandbox Code Playgroud)
在当前版本(2.0.1.GA)或未来版本中有什么类似的东西?
有谁知道如何通过WMI调用获取PC的Video Ram?
我已经看到调用Win32_VideoController管理对象的AdapterRAM属性,但这只给出系统内存,根本不代表视频RAM.
好吧,老实说,我的生活中可能没有写过超过10个单元测试.
我正在着手一个新的项目,作为唯一的程序员意味着我应该害怕......非常害怕.
我能伪保证我的软件能够带来快乐感的想法.
当然,我会错过很多我应该测试的案例,但随着时间的推移,这将是我将要学习的地方.
单元测试可以帮助我在晚上睡得更好,这对我的健康更有益.
我的代码会失败,但至少我会有更好的想法.
尽管你的团队其他成员没有加入到这个行列中,但是单元测试如何让你的生活变得更好(或者有它?)?
我无法调整tableHeaderView的大小.它简单不起作用.
1)创建UITableView和UIView(100 x 320 px);
2)将UIView设置为UITableView的tableHeaderView;
3)建立和去.一切都好.
现在,我想调整tableHeaderView的大小,所以我在viewDidLoad中添加了这段代码:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
Run Code Online (Sandbox Code Playgroud)
tableHeaderView的高度应显示为200,但显示为100.
如果我写:
self.tableView.autoresizesSubviews = YES;
CGRect newFrame = myHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
myHeaderView.frame = newFrame;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
Run Code Online (Sandbox Code Playgroud)
然后它按照我想要的200高度开始.但我希望能够在运行时修改它.
我也试过这个,没有成功:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
[self.tableView.tableHeaderView setNeedsLayout];
[self.tableView.tableHeaderView setNeedsDisplay];
[self.tableView …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VBA将公式写入Excel中的单元格.我的问题是,当我;在公式中使用分号()时,我收到一个错误:
Run-time error 1004
我的宏如下:
Sub Jours_ouvres()
Dim Feuille_Document As String
Feuille_Document = "DOCUMENT"
Application.Worksheets(Feuille_Document).Range("F2").Formula = "=SUM(D2;E2)"
End Sub
Run Code Online (Sandbox Code Playgroud) 从可能不返回任何行的LINQ查询中获取Max值的最佳方法是什么?如果我这样做
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter).Max
Run Code Online (Sandbox Code Playgroud)
当查询没有返回任何行时,我收到错误.我可以
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter _
Order By MyCounter Descending).FirstOrDefault
Run Code Online (Sandbox Code Playgroud)
但对于这样一个简单的请求,这感觉有点迟钝.我错过了一个更好的方法吗?
更新:这是后面的故事:我正在尝试从子表中检索下一个资格计数器(遗留系统,不要让我开始......).每个患者的第一个资格行总是1,第二个是2,等等(显然这不是子表的主键).因此,我正在为患者选择最大现有计数器值,然后向其中添加1以创建新行.当没有现有子值时,我需要查询返回0(因此添加1会给我一个计数器值1).请注意,我不想依赖子行的原始计数,以防遗留应用程序在计数器值中引入间隙(可能).我试图让这个问题过于通用我不好.
我以前的工作涉及对包含大量数据的大型数据库进行维护和编程.用户主要通过Intranet Web界面查看此数据.每个用户帐户都不是拥有用户帐户表,而是RDBMS中真正的一流帐户,允许他们连接自己的查询工具等,并允许我们通过RDBMS本身来控制访问使用我们自己的应用程序逻辑.
这是一个很好的设置,假设你不在公共内部网上并与潜在的数百万(潜在恶意)用户或其他东西打交道?或者,最好定义自己的处理用户帐户,自己的权限,自己的应用程序安全逻辑的方法,并且只分发RDBMS帐户以满足有特殊需求的用户?
我可以阅读MySQL文档,它非常清楚.但是,如何决定使用哪个字符集?整理有哪些数据会产生影响?
我要求解释这两个以及如何选择它们.
我正在尝试创建一个函数,该函数将数组作为参数,向其添加值(如果需要,增加其大小)并返回项的计数.到目前为止,我有:
int main(int argc, char** argv) {
int mSize = 10;
ent a[mSize];
int n;
n = addValues(a,mSize);
for(i=0;i<n;i++) {
//Print values from a
}
}
int addValues(ent *a, int mSize) {
int size = mSize;
i = 0;
while(....) { //Loop to add items to array
if(i>=size-1) {
size = size*2;
a = realloc(a, (size)*sizeof(ent));
}
//Add to array
i++;
}
return i;
}
Run Code Online (Sandbox Code Playgroud)
如果mSize足够大以容纳数组的所有潜在元素,则此方法有效,但如果需要调整大小,则会出现分段错误.
我也尝试过:
int main(int argc, char** argv) {
...
ent *a;
...
}
int addValues(ent …Run Code Online (Sandbox Code Playgroud) 出于兴趣并且因为它激怒了我,我想知道这里的SOmebody是否可能碰巧为银行工作或以其他方式知道答案.
我已经使用了一些网上银行网站(英国和N.America),他们普遍强制执行密码模式./[\w\d]{6,8}/有时,也许你可以使用下划线,但从来没有/.{6,20}/你得到(或多或少)与几乎所有你会遇到的银行网站.
我被告知这与存储空间有关,但数学似乎并不支持.假设银行为您的密码记录保留了影子表,让我们慷慨地说每个帐户平均10个,然后将允许的密码长度加倍,并根据8char 8bit现有格式将字符集的位宽加倍意味着额外的 11*2*8 =每个帐户176个字节,因此每1M帐户约168 MB.让我们说这是一个支持100M账户的庞大银行 - 这仍然只有16Gb!
它可以不那么简单吗?当然我的数据不合适.
或者这里的答案是,银行作为银行,他们没有更好的理由,而不是他们的恐龙.
有谁知道为什么我的www.random.com/forum密码比我银行的密码更强的技术原因?
c# ×2
database ×2
.net ×1
arrays ×1
c ×1
cocoa-touch ×1
excel ×1
excel-vba ×1
function ×1
iphone ×1
lambda ×1
linq ×1
linq-to-sql ×1
mysql ×1
nhibernate ×1
passwords ×1
realloc ×1
security ×1
uitableview ×1
unit-testing ×1
vba ×1
wmi ×1