小编Nic*_*hac的帖子

如何使用NHibernate将SQL调用记录到Visual Studio的控制台?

我有NHibernate的以下配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.connection_string">Server=.\SQLEXPRESS;Database=mydb;Integrated Security=True;</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.release_mode">auto</property>
    <property name="adonet.batch_size">500</property>

    <property name="show_sql">true</property>

  </session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

但SQL不会显示在Visual Studio的输出窗口中.是否必须安装log4net?或者应该show_sql独自工作?

nhibernate logging log4net visual-studio

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

如何使用NHibernate和Fluent NHibernate存储非截断的varchar(max)字符串

我的数据库架构有一个字符串作为varchar(max).我已经阅读了有关将Length设置为4000或8000以上的其他问题,以便它在映射中真正生成(n)varchar(max)但是当我在映射类中使用Length(10000)时,hbm文件实际上显示了长度="10000"如果我保存一个超过10000个字符的实体,它实际上被截断为10000个字符.

我不想要任何截断.

(使用NH3-alpha2和FNH主干)

.net nhibernate fluent-nhibernate

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

找不到microsoft.sqlserver.batchparser.dll

我写了一个asp.net Web应用程序,它使用SMO对抗SQL Server 2008,以便能够运行一些数据库脚本.它引用这些程序集(在C:\ Program Files\Microsoft SQL Server\100\SDK\Assemblies文件夹中):

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
Run Code Online (Sandbox Code Playgroud)

microsoft.sqlserver.batchparser.dll不在此文件夹中.本地(32位机器,IIS7)我没有问题.

当我将应用程序发布到我的托管服务提供商(discountasp.net,SQL Server 2008,IIS7,32位)时,我收到此错误:

无法加载文件或程序集'Microsoft.SqlServer.BatchParser,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一.该系统找不到指定的文件.

我搜索了我的本地机器,我找不到这个组件.但它在这台机器上运行良好.

"Microsoft SQL Server 2008安装发现报告"工具报告我在本地安装了v10.1.2531.0.

谢谢

sql-server asp.net

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

NHibernate映射与类层次结构,其基类是抽象的,鉴别器不是字符串

以下是域模型类:

public abstract class BaseClass
{
...
}

public class ChildClass : BaseClass
{
...
}
Run Code Online (Sandbox Code Playgroud)

请注意,父类是抽象的,这就是在使用流畅的nhibernate进行映射时给我带来一些困难的原因.我的鉴别器是一个字节(数据库中的tinyint).因为它不是一个字符串,我不能管理设置在基类中的鉴别值,这并不工作(从映射类BaseClass的拍摄):

DiscriminateSubClassesOnColumn<byte>("Type")
    .SubClass<ChildClass>()
    .IsIdentifiedBy((byte)OperationType.Plan)
    .MapSubClassColumns(p => { ... })
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是:

类初始化方法UnitTest1.MyClassInitialize引发异常.NHibernate.MappingException:NHibernate.MappingException:无法格式鉴别价值实体的BaseClass的SQL字符串---> System.FormatException:输入字符串的不正确的格式..

以下帖子似乎解释了会发生什么.他们给使用XML的解决方案,但不与功能NHibernate:http://forum.hibernate.org/viewtopic.php?t=974225

谢谢您的帮助.

c# nhibernate domain-driven-design nhibernate-mapping fluent-nhibernate

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

如何设计用于打印标签的CSS

当我的网站用户点击"打印标签"按钮时,他会被发送到一个页面,其中只有标签出现在白色背景上,打开打印对话框.我的问题是关于如何"思考"这个标签的CSS,以便它在整个纸张宽度上打印,无论纸张是什么(美国,A4,......).

我应该使用百分比来衡量一切,盒子,边距......?ems的字体?或点?是否应首先使用css重置?

对于这种css应用程序,网上是否有一个很好的资源?

更新:我使用浮动部分和百分比宽度制作,在普通纸张上布局良好.所以请考虑这个问题.

css printing

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

NHibernate:无法成功加载

我正在使用NH3和FNH 1.1重新编译NH3.

我有一个用户模型,我想在加载它时总是检索它的配置文件.我使用NH3的linq提供程序但不能使用它的Fetch方法(因为我的存储库隐藏了NHibernate并返回了IQueryable,并且在查询中调用了ToPagedList,因此阻止我将Fetch作为查询的最后一次调用).

在UserMap我设置:

HasOne(x => x.Profile)
    .Not.LazyLoad()
    .Cascade.All();
Run Code Online (Sandbox Code Playgroud)

但是将LazyLoad设置为OFF并没有帮助.我也玩过fetch模式.

我的期望是,如果我定义这个映射,那么我甚至不必告诉Linq我要在请求User实体时获取Profile.Linq应该尊重映射,不是吗?

.net nhibernate fluent-nhibernate linq-to-nhibernate

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

如何检测不引人注目的验证是否成功?

我有这个代码在提交表单时触发:

$("form").submit(function (e) {
    var geocoder = new google.maps.Geocoder();
    var address = document.getElementById("Address").value;
    geocoder.geocode({ 'address': address }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            $("#LatitudeLongitude").val(results[0].geometry.location);
            $("form").submit();
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
    $('form').unbind('submit');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

它的作用:它调用谷歌地理编码服务将地址转换为纬度/经度,该纬度/经度被设置为表单的隐藏字段.如果有结果,则提交表单.

问题是如果验证失败(例如,尚未设置必填字段),则仍会进行地理编码调用.此外,如果我在提交按钮上再次单击,即使尚未设置必填字段,也会发布表单.

如果不引人注目的验证成功,我该如何调用地理编码服务?

validation asp.net-mvc unobtrusive-validation asp.net-mvc-3

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

url重写后如何知道原始url?

我有url重写规则,将www.domain2.com重定向到domain1.com根目录下的子文件夹(让我们称之为此文件夹子项目).在我的控制器中,我需要构建一个原始未修改路径的URL,但Request.Url属性(如AbsoluteUri或LocalPath)始终包含子项目子文件夹.

换句话说,如果用户键入:

www.domain2.com/controller/action
Run Code Online (Sandbox Code Playgroud)

urlrewrite使它成为:

www.domain1.com/subproject/controller/action
Run Code Online (Sandbox Code Playgroud)

我希望重建原始网址:

www.domain2.com/controller/action
Run Code Online (Sandbox Code Playgroud)

我可以硬编码从url中删除子项目并使用domain2开始url但是我需要一个通用的代码段,因为这个url重建将在一个可重用的库中.domain2可以在我的应用程序的设置中,但该子文件夹呢?

在参考中,这是重写规则:

<rewrite>
    <rules>
        <rule name="Redirect to subproject">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
                <add input="{PATH_INFO}" pattern="^/subproject/" negate="true" />
            </conditions>
            <action type="Rewrite" url="\subproject\{R:0}" />
        </rule>
    </rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)

谢谢

asp.net-mvc iis-7 url-rewriting

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

Unix时间戳到.net DateTime

我一定是犯了一个明显的错误,但我无法弄清楚.

我正在导入存储在mysql数据库中的日期(它由ExpressionEngine CMS存储).这是一个unix时间戳,即自1970年1月1日00:00起的秒数.

所以我做的是这样的:

DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddSeconds(orderdate /* int read from the database */);
Run Code Online (Sandbox Code Playgroud)

不幸的是我没有得到正确的结果.这是一个例子:

从DB读取的值:1258598728(这是订单日期)

Paypal于2009年11月18日12:45:20发送电子邮件确认订单

在DB中读取此值并知道如何正确显示此日期的php网站将其显示为2009-11-18 03:45 PM(这似乎正确,因为我托管在东海岸的服务器上)

上面的代码给出了11/19/2009 2:45:28 AM !! (UTC给出了东部时间11/18/2009 9:45 PM,即与预期的6小时差异)

如果使用DateTimeOffset来处理正确的时区,我会得到相同的结果.

知道我做错了什么吗?

.net datetime timestamp expressionengine

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

谷歌地理编码器API返回的邻域类型是什么

当我的网站用户输入地址时,他经常这样做:

street_number street what_he_thinks_is_the_locality
Run Code Online (Sandbox Code Playgroud)

当我存储或显示它时,我需要更好地显示它:

street_number street, true_locality
Run Code Online (Sandbox Code Playgroud)

我使用地理编码器服务来提取地址组件,以便我可以正确格式化它.我依靠组件的类型来查找位置,我希望"locality","sublocality"或"administrative_area_level_3".但今天我看到一个用户输入一个地址,并且该地点作为{"邻居","政治"}类型返回.

邻居究竟是什么?什么时候回来?是否返回是因为谷歌API检测到用户在结果的某个"附近位置"?返回此类型时,是否应包含下一个地址组件以消除所有歧义?

谢谢

google-maps google-geocoding-api

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