小编Gob*_*lin的帖子

NHibernate HiLo生成器生成重复的Id

我有一个在nHibernate v4.0.4.4000上运行的应用程序 - 它在三个单独的Web服务器上运行.对于ID生成,我使用默认的HiLo实现(跨表的唯一ID).

有时,在使用以下堆栈跟踪保存新实体时,它会生成重复的Id:

at NHibernate.AdoNet.SqlClientBatchingBatcher.DoExecuteBatch(IDbCommand ps)
at NHibernate.AdoNet.AbstractBatcher.ExecuteBatchWithTiming(IDbCommand ps)
at NHibernate.AdoNet.AbstractBatcher.ExecuteBatch()
at NHibernate.AdoNet.AbstractBatcher.PrepareCommand(CommandType type, SqlString sql, SqlType[] parameterTypes)
at NHibernate.AdoNet.AbstractBatcher.PrepareBatchCommand(CommandType type, SqlString sql, SqlType[] parameterTypes)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Action.EntityInsertAction.Execute()
at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
at NHibernate.Engine.ActionQueue.ExecuteActions()
at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at Xena.Database.Main.Listeners.Strategies.CreateEntityAuditTrailStrategy.Execute(Object criteria) in K:\Projects\Xena\WorkDir\src\Xena.Database.Main\Listeners\Strategies\CreateEntityAuditTrailStrategy.cs:line 41
at Xena.Domain.Rules.Strategies.StrategyExtensions.Execute[TCriteria](IEnumerable`1 strategies, TCriteria criteria) …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate sql-server-2008

15
推荐指数
1
解决办法
739
查看次数

Linux编程 - 入门,怎么样?

我已经采取了尝试并在其中一个盒子上安装了Linux(Linux Mint 9,如果这很重要) - 我想开始一些小型编程......但是从哪里开始.

我的背景:

  • 主要是C#/ WPF中的LOB应用程序
  • 一些XAL-basic
  • 一点点VB/VBA和SilverLight

我想转向一种新的编程语言 - 但仍然专注于桌面应用程序.

我需要的:

  • 编辑 - 最好具有良好的智能感知
  • 编程语言和入门资源

如果有人能指出我正确的方向,我会很高兴有点推动......

编辑:感谢您的所有建议 - 我想出了以下建议:

  • 我将从Python开始 - 并使用Vim作为编辑器

我将在以后尝试使用Vala和Perl并将MonoDevelop作为备份编辑器 - 如果一切都失败了,我将转向C++.我赞成所有答案,因为他们都帮助了我.

EDIT2:好的 - Vim有点太硬了......安装奶油在上面.

linux development-environment

3
推荐指数
1
解决办法
2846
查看次数

开始使用rhino服务总线

我已经阅读了很多示例/教程(包括在MSDN上的Ayende的Alexandria).

但是,仅仅获得一些更新的组件本身已被证明是一个障碍.获取Castle.Windsor的正确版本后 - 它无法在app.config文件中找到正确的部分.Rhino Service Bus和CastleBootstrapper中的语法也发生了变化 - 我现在完全感到困惑.关于Hibernating Rhinos的'文档'实际上并没有帮助我开始.

有没有人可以帮我一个Rhino Service Bus的工作样本,使用Castle Windsor v.3.0(测试版)或2.5.3,指点我已经在线的东西,或者只是给我一步一步指出我需要得到什么启动并运行?

rhino-servicebus

3
推荐指数
1
解决办法
4208
查看次数

DataGrid - 更改编辑行为

我有一个带有一些复杂行为的ChildViewModels的ObservableCollection.

当我去编辑一行时 - DataGrid进入'编辑模式' - 这有效地禁用了当前单元格之外的UI通知,直到提交了行 - 这是预期的行为,更重要的是它可以被更改吗?

例:

public class ViewModel
{
    public ViewModel()
    {
        Childs = new ObservableCollection<ChildViewModel> {new ChildViewModel()};
    }
    public ObservableCollection<ChildViewModel> Childs { get; private set; }
}
public class ChildViewModel : INotifyPropertyChanged
{
    private string _firstProperty;
    public string FirstProperty
    {
        get { return _firstProperty; }
        set
        {
            _firstProperty = value;
            _secondProperty = value;
            OnPropetyChanged("FirstProperty");
            OnPropetyChanged("SecondProperty");
        }
    }

    private string _secondProperty;
    public string SecondProperty
    {
        get { return _secondProperty; }
        set
        {
            _secondProperty = value;
            OnPropetyChanged("SecondProperty"); …
Run Code Online (Sandbox Code Playgroud)

c# wpf datagrid mvvm

1
推荐指数
2
解决办法
5270
查看次数