小编Adr*_*bra的帖子

将IQueryable转换为IEnumerable会再次执行查询吗?

在我的查询中我需要返回, IEnumerable但我不知道这个动作是否使查询再次执行?

var data = Repository<Person>.Find().AsEnumerable();

Find()返回IQueryable,因为IQueryable继承IEnumerable.我怀疑是否AsEnumerable重复执行.

我知道 var data = Repository<Person>.Find().ToList()两次执行查询.一对一Find()和二Tolist()

c# linq

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

使用nhibernate是否有任何方法可以在接口中映射readonly属性

我有一个名为IEntity的接口,到目前为止有一个名为Entity的具体类,该接口具有只读属性.我宁愿映射接口,但由于接口不能有私有字段,我不能使用带有前缀选项的选项camelcase字段来映射它,所以我该怎么办?

public interface IEntity 
{public readonly string Name{get;} }

public class Entity:IEntity
{public readonly string Name{get;}}

public class EntityMap:ClassMap<IEntityMap>
{
  //how to map the readonly property
}
Run Code Online (Sandbox Code Playgroud)

c# nhibernate

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

nhibernate是否真的需要默认构造函数来持久化对象?

出于某种原因,我不想让用户创建对象的实例,而不是向构造函数发送属性,但我知道对象应该有默认构造函数,因此可以创建一个不带发送requierd属性的实例.有什么方法可以防止这个问题吗?若是,是否有任何副作用?

nhibernate

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

如何通过名称获取实体的实体属性

在类 Person 中,我与类 Position 相关,类 Position 与类 PositionTitle 相关,并且 PositionTitle 有一个名为 Title 的属性

public class Person
{
  public position Position{get;set;}
  public string Name{get;set;}
  public DateTime BirthDate{get;set;}
  public bool IsAdmin{get;set;}
  public int Age{get;set;}
}

public class position  
{
  public positionTitle PositionTitle{get;set;}
  public bool IsSystem{get;set;}
}

public class PositionTitle
{
  public string Title{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我有一个字符串“Person.Position.PositionTitle.Title”,我怎样才能用这个字符串获取person的这个属性?

编辑:

我应该添加一些东西,我要获取人员的所有属性,直到进入系统类型,我的意思是我想将这些属性作为字符串{Name,Age,IsAdmin,BirthDate,IsSystem,Title}

我怎么能?

EDiT2:还有一个问题,Position 本身可以与 Person 相关,如果我获取 person 的属性并递归地获取与 Person 相关的那些类的属性,将会出现一个不间断的循环,因为 Person 有一个职位和职位都有人

c# reflection

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

如何获得一个对象的所有原始类型

我想拥有一个具有原始类型的对象的所有属性,如果该对象与另一个类有关系,我想拥有另一个类的原始属性

问题是如果实体A有实体B而B有A,我该怎么办

在简单的情况下,通过使用反射我可以得到第一级的原始属性,但是,我不能进入实体B并再次获得A的原始属性,将创建一个循环,你提供什么?

public class A
{
 public string Name{get;set;}
 public B B{get;set;}
}


 public class B
{
 public string Category{get;set;}
 public A A{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

c#

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

标签 统计

c# ×4

nhibernate ×2

linq ×1

reflection ×1