我试图在Sql 2008地理类型中使用Nhibernate,并且遇到了困难。我正在使用Fluent Nhibernate进行配置,我对此相当陌生,所以这也可能是问题所在。
首先,我试图坚持的课程如下所示:
public class LocationLog : FluentNHibernate.Data.Entity
{
public virtual new int Id {get;set;}
public virtual DateTime TimeStamp {get;set;}
public virtual GisSharpBlog.NetTopologySuite.Geo
我创建了一个简单的工具,它使用SchemaExport生成数据库& sql脚本。在一个简单的实体上,一个字符串属性Description是Server中的一个ntext列,但实际上它是nvarchar(255)。
不确定哪一部分我错了,任何建议都是感激的!
下面是我的代码,只需创建一个控制台应用程序+添加NHibernate nuget包运行。
using System;
using NHibernate.Cfg;
using NHibernate.Dialect;
using NHibernate.Driver;
using NHibernate.Mapping.ByCod
我有一个sql视图,其中每一列的数据类型都是string,用于jquery插件。
其中一列包含uk格式日期dd/mm/yyyy。
该列需要保留一个字符串才能使用插件的击键筛选,但是要对其进行排序,则需要将其视为日期。
我使用nhibernate条件来创建sql查询,并希望生成以下orders子句,因为这样可以正确地排序日期
order by CONVERT (datetime, DateOfBirth, 103)
然而,在Nhibernate.Criterion.Projections中没有Convert方法。有Cast,但由于它是英国日期格式,我得到了以下错误:
The conversion
然后,我使用Fluent NHibernate及其自动映射功能来映射以下简化的POCO类:
public class Foo
{
public virtual int Id { get; set; }
public virtual datetime CreatedDateTime { get; set; }
}
默认情况下,CreatedDateTime字段将映射到SQL DateTime。但是,如果我执行一个测试来检查实体是否被正确创建,那么它将失败。这是因为SQL字段的精度不会一直保持到DateTime数据库。我理解这背后的原因是MS SQL Server Date
我正在使用Nhibernate 3.0和Fluent Nhibernate进行这个项目。我们将SQL-Server 2008用于生产目的。对于版本控制,我们依赖于SQL-Server端生成的时间戳。
最近,我开始在memory SQLite数据库中使用编写存储库测试。不幸的是,SQLite不能生成时间戳,因此任何插入都会因违反约束而失败。
在编译SQLite底层数据库的映射时,我希望将版本映射更改为Nhibernate托管版本。传达这种思想的代码大致如下所示:
public class CommonClassMap<T> : ClassMap<T> where T:En
我正在尝试创建一个复合键,它模仿内置的PrimaryKeys表中的MySQL.DB集。
Db主键如下:
Field | Type | Null |
----------------------------------
Host | char(60) | No |
Db | char(64) | No |
User | char(16) | No |
这是我的DataBasePrivilege.hbm.xml文件
<?xml version="1.0" encoding="utf-8" ?>
我在这里用一种奇怪的行为来抗争...在使用NHibernate作为ORM和MS SQL Server2008作为数据库的asp.net mvc3应用程序中,我遇到了以下经验:
System.NotSupportedException: Dialect does not support variable limits.
代码非常简单,是一个典型的分页查询:
public IList<Agenzia> getAllAgenzie(int maximumRows, int startRowIndex)
{
using (var session
我有一个使用C#和NHibernate的应用程序,它将支持SQL Server 2008、SQL Server 2012和Oracle。我一直在使用fluent nhibernate来映射我的实体,我对如何映射ID有一些疑问。Oracle只支持序列,Server 2008只支持标识,SQL Server 2012都支持。我希望在Sql Server (2008和2012)中使用标识映射,在同一代码上映射具有序列的Oracle。
我应该如何映射所有数据库的ID?
如果我在流畅的映射代码上有一些if语句,这并不重要。查找我的映射代码:
对于SQL:
Id(x => x.Id).Generat
我们在MS SQL Server中使用Entity Developer for NHibernate。我们希望让数据库创建带有sql-type="timestamp“的Version属性。但是sql类型时间戳的.Net等价物是一个字节数组,我们不能在Entity Developer中为版本属性选择它。我们总是收到消息"Version property be type of Int64,Int32,Int16,Ticks,Timestamp,or TimeSpan“
那么,是否有可能以及如何获得这种映射:
<version name="Version" ty
我在SQL Server 2008下创建了一个小数据库。现在我想把它移到SQL Server 2005上,但因为它没有Time数据类型,所以它不能工作。在SQL Server 2005中,有什么选项可以仅存储时间。我写过一个小的TimeSheet应用程序,它需要写小时和分钟,主要的格式是05:30:00 (hh:mm: ss ),但是ss是可选的。
我有一个现有的应用程序,它使用NHibernate从一个已经运行了很长时间的数据库(SQL Server2008 R2)加载一些相当复杂的对象。
今天,在尝试使用JSON.Net序列化我的对象时,我遇到了以下错误:
Error getting value from 'DefaultValue' on 'NHibernate.Type.DateTimeOffsetType'.
我的NHibernate映射中的属性都没有使用DateTimeOffsetType,所以我怀疑NHibernate以某种方式代理了我的对象的属性。
我的对象上有几个可以为空的DateTime
下午好,
我已经在这个问题上困了很多天了,我觉得我对Nhibernate / SQL Server的理解还不够,所以我可能会弄清楚这个问题。
问题是,任何涉及调用以下内容的单元测试:
Nhibernate.Cfg.Configuaration.BuildSessionFactory();
只是卡在一个运行状态,我被迫按下‘停止’,以使NUnit响应。此时将出现一个错误对话框,其中包含以下信息:
“无法建立连接,因为目标计算机主动拒绝”
其中“异常文本”是;
System.Net.Sockets.SocketException: No connection could be made b