小编Ted*_*Net的帖子

如何在解决方案(因此所有项目)中找到所有引用?

我们有一个很大的解决方案,其中包含很多项目.有些项目引用相同的DLL,我需要替换一个DLL.有没有办法看到整个解决方案中有哪些引用,所以我不必逐个查看每个项目?

我希望看到解决方案范围的参考,而不是每个项目.可能吗?

visual-studio

13
推荐指数
2
解决办法
2万
查看次数

使用错误的(棕色地块)数据库模式映射一对一关系

我必须在NHibernate中建模这种关系(简化代码以保持主题) - 员工可以是一个帐户管理员(因此,它是可选的):

表Employee(Id,Number,Name)表EmployeeIsAccountManager(Number,MaxAllowedDiscount)

表EmployeeIsAccountManager指向表Employee,而不是在Employee表中有一个Number列,它指向表EmployeeIsAccountManager中的Number列.

我如何在NHibernate中映射这个?我已经尝试在EmployeeIsAccountManager类映射上使用外部生成器,但如果我使用Number作为外部生成的值,它将映射到Employee的ID,即Id而不是Number.我模仿我的课程使用作文:

public class Employee
{
   public virtual int Id { get; set; }
   public virtual short Number {get; set; }
   public virtual string Name {get; set; }
   public virtual AccountManager AccountManager { get; set; }
}

public class AccountManager
{
  public virtual short Number { get; set; } /*needed because of ID only?*/
  public virtual decimal MaxAllowedDiscount { get; set }
}   
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多(一对一,多对一,外来生成器),但我无法弄清楚是否可以用NHibernate完成.顺便说一下:我可以改变类,映射等但是我不能改变表结构,因为它的棕色区域状态(旧应用程序有200多万行代码,近1000种形式).

任何帮助表示赞赏,谢谢!摊晒

nhibernate brownfield nhibernate-mapping

5
推荐指数
1
解决办法
270
查看次数

使用方法:使用同一个表中的不同业务逻辑映射(NHibernate)多个类?

我目前正在使用一个棕色数据库,该数据库包含一个表,其中包含3种不同类型的业务数据.它与SalesOrders和订单线有关.在旧的应用程序中,我们能够为每个销售订单添加3种类型的订单行:产品,小时费率和文本行.15年前,这是一个快速而肮脏的解决方案,可以在Delphi中轻松查询以获取一个数据网格中的所有行.一切

现在我尝试使用NHibernate在C#中构建对象模型.由于这三种线路类型没有真正的业务逻辑连接,我已经制作了3个没有基类的单独实体.但是,我想将这3种类型合并到一个列表中,以便我可以订购它们.

我已经考虑过使用inheritence,每个类的表,因为表符合要求(没有具有非空约束的列).这不是一个合乎逻辑的步骤,因为每种类型的业务完全不同(只有一些共同点是userId,description和remarks).也许是一个组件?但是如何将属性映射到3个不同的类而没有基类或除表名之外的任何类型的链接?

我希望你们明白我写的是什么.我还没有真正的代码,我只是在纸上写了一些关于如何处理这段代码的东西.

谁在这里可以帮助我的路上?

亲切的问候,泰德

c# nhibernate inheritance components table-per-class

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

谜:我的自定义C#属性使用一次,但是在运行单元测试时构造了无数次。为什么?

我有一个我似乎无法解决的谜。我有一个使用非常简单的自定义属性的非常简单的单元测试。该属性仅添加到一个甚至没有实例化的类。我计算构造属性的次数。由于类MyDummyClass的属性,我期望一次。但是由于某种原因,单元测试的结果为2。如果将它两次添加到类中,则结果为4。如果将其添加到MyTestClass,则结果将增加6;如果将其添加到MyTest,则将发生13的增加。因此,具有MyDummyClass,MyTestClass和MyTest的属性的计数为21。

我做了一些额外的测试:
-如果在控制台应用程序中尝试此操作,它将按预期工作并得到
1。-如果我在MsTest项目中进行此操作并使用VS MsTest
运行器,则结果为1。- 如果运行在NUnit自己的查看器(2.0框架)中或在具有
reshaper的情况下,该代码为21。-值得注意的是:如果我以reshaper运行MsTest测试,结果为2。

我正在使用VS2010版本10.0.40219.1,Resharper v6.1.1000.82和NUnit 2.5.10(由R#提供)

想要测试吗?继续,下面是代码:

using System;
using NUnit.Framework;

namespace MyTests
{
    [AttributeUsage(AttributeTargets.All, AllowMultiple = true)]
    public class WtfAttribute : Attribute
    {
        public static int CallCount = 0;

        public WtfAttribute() //every time the attribute is constructed the count is incremented by 1.
        {
            CallCount++;
        }
    }

    //this class is NEVER instantiated, but adding the attribute to it increases the callcount by 2. I expected it to be 1 due to reflection.
    [Wtf]
    public …
Run Code Online (Sandbox Code Playgroud)

c# reflection attributes nunit mstest

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