小编Sim*_*mon的帖子

在NHibernate Linq提供程序中获取vs FetchMany

NHibernate渴望加载可以使用Fetch和完成FetchMany,如在Mike Hadlow博客上的NHibernate Linq Eager Fetching中所述.

这两种方法有什么区别,在什么情况下都会使用?

linq nhibernate fetch eager-loading

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

检查double是否是C#中的整数有什么好方法?

可能重复:
如何确定十进制/双精度是否为整数?

我有一个double类型的变量,我想检查它是否是一个整数.

目前我有

public bool CheckIfInteger(double number)
{
    return number.ToString().Contains(".") == false;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

更新:对不起我没有意识到混淆的可能性,整数我的意思是整数的数学定义,即自然数和非零自然数的负数.

.net c# double types integer

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

如何将TFS绑定添加到Visual Studio 2010项目?

有一个问题已经讨论过如何将项目/解决方案绑定添加到TFS,但它似乎只适用于Visual Studio 2008(我无法在VS2010中找到"更改源代码控制"对话框).

我已经在TFS中的本地机器上有一个解决方案和源代码,但它没有TFS绑定(在Visual Studio解决方案资源管理器中生成挂锁图标并允许自动签出的东西).

如何使用Visual Studio 2010将绑定添加到现有TFS项目?

tfs visual-studio tfs2010

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

使用带有规范模式的预先加载

我已经使用Linq实现了规范模式,如下所述https://www.packtpub.com/article/nhibernate-3-using-linq-specifications-data-access-layer

我现在想要增加急切负载的能力,并且不确定最好的方法.

链接示例中的通用存储库类:

public IEnumerable<T> FindAll(Specification<T> specification)
{
  var query = GetQuery(specification);
  return Transact(() => query.ToList());
}

public T FindOne(Specification<T> specification)
{
  var query = GetQuery(specification);
  return Transact(() => query.SingleOrDefault());
}

private IQueryable<T> GetQuery(
  Specification<T> specification)
{
  return session.Query<T>()
    .Where(specification.IsSatisfiedBy());
}
Run Code Online (Sandbox Code Playgroud)

并且规范实现:

public class MoviesDirectedBy : Specification<Movie>
{

 private readonly string _director;

 public MoviesDirectedBy(string director)
 {
   _director = director;
 }

 public override
    Expression<Func<Movie, bool>> IsSatisfiedBy()
 {
   return m => m.Director == _director;
 }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,我现在想要添加能够加载的能力.我理解NHibernate的热切加载可以通过在查询上使用Fetch来完成.

我正在寻找的是是否在规范中封装急切的加载逻辑或将其传递到存储库,以及实现此目的所需的Linq /表达式树语法(即如何完成它的示例).

linq nhibernate specification-pattern repository-pattern eager-loading

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

NHibernate ThenFetchMany正在检索重复的子项

我有一个父对象,其子集合包含一个元素,子集合包含一个包含3个元素的"孙子"集合.

我使用NHibernate从数据库加载父对象,如下所示

Parent parentObject = session.Query<Parent>()
    .FetchMany(x => x.Children)
    .ThenFetchMany(x => x.GrandChildren)
    .Where(x => x.Id = "someparentid")
    .Single();
Run Code Online (Sandbox Code Playgroud)

我发现的是,当应该只有一个子对象时,附加到父对象的子对象(总共3个).(每个孩子都有正确连接的3个孙子对象.)渴望加载子集合只能正常工作.

你知道如何在没有重复孩子的情况下加载完整的父对象吗?

nhibernate fetch eager-loading

5
推荐指数
2
解决办法
4857
查看次数

使用代码覆盖工具有什么好处?

鉴于对于单元测试良好代码覆盖水平似乎没有硬性规定,使用NCover等代码覆盖工具的好处是什么呢?

unit-testing code-coverage

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

将审计列添加到Fluent NHibernate多对多联结表

我正在使用Fluent NHibernate从.Net实体类生成数据库模式.我有两个类,User并且Permission有多对多关系,Fluent NHibernate正在UsersToPermissions数据库中正确生成联结表.

正如预期的那样,联结表存储主键UserIdPermissionId.我想要的是还有这个表附带的审计信息,如CreatedDateUpdatedDate.我已经使用NHibernate文档中描述的拦截器在非连接表上实现了这一点.

如何在UsersToPermissions表上实现审计列?

.net nhibernate audit many-to-many fluent-nhibernate

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

Linq查询Dictionary <int,double>类型

我有一个类型字典,Dictionary<int, double>想要消除等于某个值的值.

目前我有

Dictionary <int, double> dict = GetDictionary();
dict = dict.Where(x => x.Value != 100).Select(x => x);
Run Code Online (Sandbox Code Playgroud)

我收到错误:

无法隐式将类型' System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<int,double>>' 转换为' System.Collections.Generic.Dictionary<int,double>'.存在显式转换(您是否错过了演员?)

如何使用Linq实现我想要做的事情?

.net c# linq dictionary

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