草庐IT

nhibernate-mapping-by-code

全部标签

c# - Entity Framework : mapping tinyint to boolean

EntityFramework默认将tinyint映射到byte。我尝试将生成的基础类型更改为bool值,但出现编译错误指定的成员映射无效。成员blah的类型'Edm.Boolean[Nullable=False,DefaultValue=]'...这在4.0中可能吗?将tinyint列用作bool值不是我的主意。这是由另一个使用hibernate的团队自动完成的,显然这样做是为了与mysql兼容。显然tinyint的值比2多。我正在寻找一种方法来映射它,以便任何接受1的东西都是假的,或者任何接受0的东西都是真的。要么对我有用有没有办法将某种类型的转换器插入到EF中?

c# - 使用 Moq 模拟 nHibernate QueryOver

测试时,以下行因空引用而失败:varawards=_session.QueryOver().Where(x=>x.BusinessId==(int)business).List();我的测试是这样的:varmockQueryOver=newMock>();mockQueryOver.Setup(q=>q.List()).Returns(newList{_awardingBody});_mockSession.Setup(c=>c.QueryOver()).Returns((mockQueryOver.Object));_mockCommandRunner=newMock();_gene

c# - Entity Framework Code First - 两个名称相同但 namespace 不同的实体

我在以下情况下遇到数据库生成问题:1.csFirst.Entities命名空间中的项目实体映射到First_Project表。namespaceFirst.Entities{#regionusingsectionusingSystem.Collections.Generic;usingSystem.ComponentModel.DataAnnotations;usingSystem.Data.Entity.ModelConfiguration;usingSystem.Diagnostics.CodeAnalysis;#endregion[Table("First_Project")]p

c# - 如何在 Entity Framework Code First 中设置 0..* 关系?

我有两个类的下一个代码:publicclassObject{publicintObjectID{get;set;}publicintObject2ID{get;set;}publicvirtualObject2Object2{get;set;}}publicclassObject2{publicintObject2ID{get;set;}publicvirtualICollectionObjects{get;set;}}我知道使用EntityFramework,这将创建一对多关系,但我想知道的是如何将其转换为零对多关系。我是EntityFramework的新手,我找不到任何直接的答案。

c# - EF 4.1 Code First - 添加列

我已经设置了我的数据库,我想向模型添加一个新字段,向表添加一个新列,有没有一种方法可以在不丢失所有数据的情况下执行此操作?通常,如果您删除数据库,它会自动重新创建所有内容,但我不想丢失数据。我使用SQLServer2008作为数据库。 最佳答案 您将需要使用EF迁移将新列添加到您的数据库中。您可以阅读有关EF迁移的更多信息here和here. 关于c#-EF4.1CodeFirst-添加列,我们在StackOverflow上找到一个类似的问题: https:/

c# - 防止 ORDER BY 子句中的 SQL 注入(inject)

在我们的数据库访问层中,我们有一些动态查询创建。例如,我们有以下方法来构建ORDERBY子句的一部分:protectedstringBuildSortString(stringsortColumn,stringsortDirection,stringdefaultColumn){if(String.IsNullOrEmpty(sortColumn)){returndefaultColumn;}returnString.Format("{0}{1}",sortColumn,sortDirection);}问题是,sortColumn和sortDirection都是来自外部的字符串,所以当

c# - NHibernate 高效删除使用 LINQ Where 条件

有一个NHibernate的存储库,带有这样的LINQ查询varq=fromxinSomeIQueryablewherex.A1==a1&&x.B1==b1selectx;是否有解决方案如何获取此WHERE过滤器并将其应用于“一次性删除”,这似乎只能通过HQL实现:varcmd=string.Format("deletefromSomeEntitywherex.A1='{0}'andx.B1={1}",a1,b1);session.CreateQuery(cmd).ExecuteUpdate(); 最佳答案 现在可以使用Nhiber

c# - EF Code First 中的模型 n--n 关系如何与自动生成的 View 正常工作?

我使用EFCodeFirst并在n-n关系中遇到问题,假设我们有一位歌手演唱某些流派,所以我们需要这个模型:艺术家、流派和艺术家流派,我将模型定义如下:这是我的艺术家模型:publicclassArtist{publiclongId{get;set;}publicstringName{get;set;}publicICollectionGenres{get;set;}}还有我的流派模型:publicclassGenre{publiclongId{get;set;}publicstringTitle{get;set;}publicICollectionArtists{get;set;}}

c# - EntityFramework Code First 对属性 getter/setter 做了什么?

在使用CodeFirst时,EntityFramework究竟做了什么来映射具有自定义getter和setter的属性?它是否只是在序列化时调用属性的getter,反序列化时调用setter?所以我可以做一些愚蠢的事...publicclassFoo{publicDateTimeTimeAccessed{get{returnDateTime.Now;}set{TimeDeserialized=DateTime.Now;}}[NotMapped]publicDateTimeTimeDeserialized{get;privateset;}}注意我对使用上面的代码或任何类似的代码没有实际兴

c# - NHibernate 和 Memcached - 教程/示例

我安装了Membase服务器并设置了几个存储桶,我正在寻找一个很好的教程或示例来说明如何将其用作NHibernate的二级缓存。我感兴趣的是示例配置是什么样子的,以及我是否需要在代码中做任何事情,或者我是否可以从我的NHibernate映射中处理所有这些事情。感谢您的帮助。 最佳答案 在您的映射文件中,您需要包含以下属性:选项是读写(读取已提交隔离)、非严格读写(很少写入的对象、更好的性能但增加了过时数据的机会)或只读(永不更改的数据)。然后,在您的网络(或应用程序)配置中,您需要一个部分来配置memcached:最后,在你的ses