小编Dav*_*vid的帖子

覆盖NHibernate中的删除行为

在我的应用程序中,用户无法真正删除记录.而是将记录的Deleted字段设置为1,从而将其隐藏在选择中.

我需要保持这种行为,我正在研究NHibernate是否适合我的应用程序.我可以覆盖NHibnernate的删除行为,以便不发出DELETE语句,而是发出UPDATES,如上所述?

我显然还需要覆盖其SELECT行为以包含' AND Deleted = 0'子句.或者从视图中读取.我不确定.

sql nhibernate overriding

4
推荐指数
1
解决办法
1858
查看次数

ASP.NET中静态对象的范围

我刚刚阅读了这个讨论代码的线程,该代码从一个辅助类中静态地创建一个NHibernate SessionFactory对象:

确保NHibernate SessionFactory仅创建一次

ASP.NET应用程序中静态成员变量的生命周期是什么?只要工人进程存在吗?还是ASP.NET会话?或者是其他东西?

说实话,我有点困惑.

谢谢

大卫

asp.net lifecycle static

4
推荐指数
1
解决办法
1156
查看次数

客户端应用程序中打开的 SqlConnections 与 SQL Server 中的进程之间有什么关系?

我只是尝试对 SQL Server 数据库中的表进行简单的架构更改(通过使用 SMSS 中的设计工具)。每当我尝试保存更改时,它总是超时。我想知道这是否是由于现有的连接“锁定”了表。

作为一个实验,我决定终止连接。我查询 master..sysprocesses 以获取该数据库的当前 spid,并一一杀死它们,直到我能够保存我的架构更改。(不是很科学,但我远不是 SQL Server 专家)。果然,当我杀死所有 spid(除了我使用 SMSS 的那个)后,我能够保存架构更改。

我想问一下ADO.NET SqlConnections和spids之间的关系。例如,如果客户端应用程序在 SqlConnection 对象上调用 Open(),我是否应该在 master..sysprocesses 中看到另一个 spid?如果我在该 SqlConnection 上调用 Close() 会怎么样?spid 应该消失吗?

我确信事情没有那么简单,因为我知道存在连接池的概念,但是有人可以阐明这种关系是如何运作的吗?

谢谢

大卫

ado.net connection-pooling sqlconnection spid

4
推荐指数
1
解决办法
684
查看次数

C#:方法的通用实现不满足接口

这篇文章中,我谈到了使用通用基类,使我能够创建存储库类,而无需重复加载基本的管道代码.

每个存储库都通过接口访问.在下面的代码中,为了简洁起见,我只会展示其中一种方法:

接口:

IQueryable<Suggestion> All { get; }
Run Code Online (Sandbox Code Playgroud)

通用基类

public IQueryable<T> All
    {
      get { return _unitOfWork.GetList<T>(); }
    }
Run Code Online (Sandbox Code Playgroud)

具体类(实现接口并扩展通用基类)

public IQueryable<Suggestion> All
    {
      get { return _unitOfWork.GetList<Suggestion>(); }
    }
Run Code Online (Sandbox Code Playgroud)

我预计我将能够简单地从具体类中剥离方法,编译器将使用通用基类实现,并计算出旨在满足接口的方法.但不是!

当我删除方法时,我得到旧的"没有实现接口成员"错误.

如果我不能这样做,我努力使用通用基类没有意义吗?或者有办法解决这个问题吗?

c# generics inheritance repository-pattern

4
推荐指数
1
解决办法
605
查看次数

NHibernate - 如何配置关联而不使用主键

我正在使用由一些非常奇怪的人组成的遗留数据库.我正在编写一个NHibernate DAL,但是遇到了一些奇怪的映射场景.

在一个示例中,我有一个包含许多字段的表,包括LE_RECNUM(整数主键)和LE_CODE(字符串).

但是,整个数据库中的所有关系都会加入LE_CODE,而不是LE_RECNUM出于某种不可思议的原因.

我需要指定这LE_RECNUM是我的映射文件中的Id,因为我需要在插入记录时生成主键.但是,我希望所有关联都使用LE_CODE而不是LE_RECNUM.

谁能建议我怎么做?

nhibernate fluent-nhibernate

4
推荐指数
1
解决办法
1479
查看次数

c#:什么是常量表达式?

我目前正在使用属性.我经常遇到错误'属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式.我真的不知道"常量表达"是什么意思.

能够将a传递Func<MyType, bool>给属性(由属性存在时执行的代码所使用)将非常有用.但是,唉,没有.我不明白为什么这种类型不能放在程序集元数据中,我认为这是我无法将其传递给属性的原因.

谁能给我任何想法?

c# custom-attributes constant-expression

4
推荐指数
2
解决办法
5534
查看次数

如何在C#中将某些条件设置为真并行处理输入

我正在使用一个位于(例如)a StreamReader或者顶部的界面SqlDataReader.接口公开一个方法,GetNext()如果有任何对象,或者null如果没有剩下,则返回一个对象.

public interface ICollectionWidget<T>
{
    T GetNext(); // Returns a T if there are any left, or null if there aren't
}
Run Code Online (Sandbox Code Playgroud)

我需要并行处理每个T返回的GetNext(),并在GetNext()返回时停止处理 null.我不太确定这是怎么做的(使用TPL或其他).我需要一种平行while!显然,我不希望任何线程仍然处理完成,当我得到一个null,我只是不想添加任何新的处理 - 然后当所有线程完成他们正在做的事情时退出'循环' .

有人可以帮忙吗?如果我的问题没有意义,请告诉我.

c# parallel-processing while-loop

4
推荐指数
1
解决办法
241
查看次数

如何提供Buffer.read的相对路径?

所以我想使用相对路径将声音文件加载到缓冲区中.(我将我的东西保留在版本控制之下,并且不想对某人可能在其文件系统上克隆repo的位置做出任何假设.)

所以,我最初假设如果我提供了一个看起来相对的路径,那么SC会把它解释为相对于正在执行的文件的位置:

Buffer.read(s, "Samples/HiHats1.hihat2.wav");
Run Code Online (Sandbox Code Playgroud)

但SC无法找到该文件.所以我抬头asAbsolutePath试了一下:

Buffer.read(s, "Samples/HiHats1.hihat2.wav".asAbsolutePath);
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为SC无法计算出我的相对路径的绝对路径.

"Samples/HiHats1.hihat2.wav".asAbsolutePath
Run Code Online (Sandbox Code Playgroud)

...实际上在我的文件系统上返回一个不存在的位置.欢呼!

任何人都可以就如何实现这个麻烦的任务提出任何建议吗?

supercollider

4
推荐指数
1
解决办法
2105
查看次数

Visual Studio模板未显示

我按照本教程尝试向Visual Studio添加模板:

http://www.switchonthecode.com/tutorials/visual-studio-how-to-create-item-templates

我创建的模板旨在将一个预定义的.aspx和一个预定义的.aspx.cs文件添加到项目中.

该文件夹包含以下文件:

MoosePage.aspx

MoosePage.aspx.cs

MoosePage.vstemplate

MoosePageItemTemplateIcon.ico

.vstemplate文件如下所示:

<VSTemplate Type="Item" Version="2.0.0"
   xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>MoosePage</Name>
    <Description>MoosePage Template</Description>
    <DefaultName>NewMoosePage</DefaultName>
    <ProjectType>CSharp</ProjectType>
    <Icon>MoosePageItemTemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <ProjectItem TargetFileName="$fileinputname$.aspx" ReplaceParameters="true">
      MoosePage.aspx
    </ProjectItem>
    <ProjectItem TargetFileName="$fileinputname$.aspx.cs" ReplaceParameters="true">
      MoosePage.aspx.cs
    </ProjectItem>
  </TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)

我已将文件压缩(.zip而不是.zipx)并将zip文件夹放在My Documents\Visual Studio 2008\Templates\ItemTemplates\VisualWebDeveloper中.

我重新启动了Visual Studio.

当我进入我的网站项目并选择添加新项目时,我没有看到我的新模板.

任何人都可以建议可能出错的地方?

谢谢

大卫

templates visual-studio

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

如何在python中定义没有默认值的类属性

我是一名C#开发人员学习python.

如果我想定义一个具有某些属性的类,但不为属性提供默认值,那该怎么办?

例如(这是我最好的猜测方法):

class Spam
    eggs = None
    cheese = None
Run Code Online (Sandbox Code Playgroud)

或者,这是合法的:

class Spam
    eggs
    cheese
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

python class python-2.7

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