是否有适用于Fluent NHibernate的类映射生成器?我需要像db2hbm这样的东西,但我希望它能生成Fluent Class Maps而不是xml映射.
我知道AutoMapping for Fluent但这不是我想要的.我希望能够从数据库中的表生成类映射文件,并将它们推送到我的src存储库.
我找不到任何拒绝或确认SQL Server'MONEY'数据类型是十进制浮点还是二进制浮点的内容.
在描述中它说MONEY类型范围是从-2 ^ 63到2 ^ 63 - 1所以这种意味着它应该是一个二进制浮点.
但在此页面上,它将MONEY列为"精确"数字.哪种情况表明MONEY可能是十进制浮点数(否则它是如何精确的?或者究竟是什么定义?)
那么如果MONEY是十进制浮点数,那么MONEY和DECIMAL(19,4)之间有什么区别?
当我创建发布配置文件时,我可以选择我希望发布用于此配置文件的配置.选项类似于Debug,Release或任何自定义的选项,如Staging.问题是如果我选择除Release或Debug之外的任何配置,比如Staging,visual studio会完全忽略我的选择并使用Web.Release.config进行转换和构建.我做错了什么还是这个设计?似乎Publish只将Release和Debug识别为可接受的Configuration.有关这个问题的任何想法?
我正在使用Visual Studio 2012 RTM.
更新1 ::"NightlyLive - 任何CPU"配置选择:
在这里,我选择自己的自定义配置"NightlyLive":

以下是我发布时会发生的事情:
6>------ Build started: Project: UI.Next, Configuration: Release Any CPU ------
7>------ Publish started: Project: UI.Next, Configuration: Release Any CPU ------
7>Transformed Web.config using [...]\UI.Next\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它使用Release Any CPU(而不是NightlyLive - 任何CPU)构建项目,并且还使用Web.Release.config(而不是Web.NightlyLive.config)转换Web.config.
更新2 ::配置文件名称重命名为"NightlyLive":
在这里,我将配置文件名称从"test"重命名为"NightlyLive".

这是控制台输出:
6>------ Build started: Project: UI.Next, Configuration: Release Any CPU ------
7>------ Publish started: Project: UI.Next, Configuration: Release Any CPU ------
7>Transformed Web.config using [...]\UI.Next\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
7>[...]\UI.Next\Web.NightlyLive.config(23,18): Warning : Argument 'debug' did not …Run Code Online (Sandbox Code Playgroud) [OR]如何为http请求和石英作业使用UoW定义StructureMap生命周期
我有这个使用SM for IoC的Web应用程序.我正在使用HybridHttpOrThreadLocalScoped范围来存储我的nHibernate ISession对象.这适用于我的Web请求的每个请求时段的会话.
但我也有quartz.net安排几个工作.该作业使用相同的工作单元来获取ISession对象.在这种情况下,当调度程序启动作业时,一切正常,并且作业运行良好几次UNTIL作业线程ID重复.
想象一下,当作业被安排时,它开始在具有id 11,12,13的线程中运行,然后再次使用线程ID 11.此时,structuremap返回一个已经处理好的会话对象,我得到"System.ObjectDisposedException:Session is closed!" 错误.
因此,从我所看到的,会话保存在线程本地存储中,在我的工作单元结束后处理会话后,会话对象仍保留在线程本地存储中.似乎在线程终止之后它的本地存储没有被清除,并且当某个新的线程具有相同的id时,structmap会查找旧线程本地存储中的会话(应该为新线程清除我认为并返回已经处理的会话对象.
问题:
我希望我明白我的问题.这花费了我几个小时的时间,但我还没有找到解决办法.我很欣赏任何提示:>
更新: 我添加了自己的解决方案,使StructureMap服务的UoW同时处理http请求和石英作业.如果您有更好/更容易/更简单的解决方案,请告诉我.
这让我疯了.我使用VS 2008使用C#实现了这个Web服务.我在IIS上发布它.我修改了发布版本,因此将pdb文件与dll一起复制到inetpub上的目标目录中.
web.config文件也有debug = true.
然后我调用一个抛出异常的Web服务.堆栈跟踪不包含行号.我不知道我在这里缺少什么,有什么想法吗?
附加信息: 如果我使用VS内置Web服务器运行Web应用程序,它可以工作,我在堆栈跟踪中获取行号.但是,如果我将VS内置Web服务器使用的相同文件(pdb和dll)复制到IIS,则堆栈跟踪中仍然缺少行号.
似乎有一些与IIS相关的东西忽略了pdb文件!
更新 当我发布到IIS时,所有pdb文件都在bin目录下发布,一切都很好.但是当我转到与我的项目相关的特定目录下的"C:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"时,我可以看到程序集(.dll)文件都在那里,但没有pdb文件.但是,如果我使用VS内置Web服务器运行项目,则不会发生这种情况.因此,如果我手动将pdb文件复制到临时文件夹,我可以看到行号.
知道为什么pdb文件没有复制到临时文件夹吗?
顺便说一句,当我附加到工作进程时,我可以看到它表示符号已加载!
我有一个以前在NHibernate LINQ 2.1.2中工作的查询,但它在NH3中抛出NotSupportedException:
IQueryable<Tree> query = from flower in GetSession().Query<Flower>()
from leaf in flower.Stem.Leaves // <--- the problem is here with three jumps
where leaf.Color == Green
select flower;
Run Code Online (Sandbox Code Playgroud)
关系如下:
从NHibernate.Linq.Visitors.QueryModelVisitor中的第204行抛出异常.这是源代码中的方法:
public override void VisitAdditionalFromClause(AdditionalFromClause fromClause, QueryModel queryModel, int index)
{
if (fromClause is LeftJoinClause)
{
// It's a left join
_hqlTree.AddFromClause(_hqlTree.TreeBuilder.LeftJoin(
HqlGeneratorExpressionTreeVisitor.Visit(fromClause.FromExpression, VisitorParameters).AsExpression(),
_hqlTree.TreeBuilder.Alias(fromClause.ItemName)));
}
else if (fromClause.FromExpression is MemberExpression)
{
var member = (MemberExpression) fromClause.FromExpression;
if (member.Expression is QuerySourceReferenceExpression)
{
// It's a join …Run Code Online (Sandbox Code Playgroud) 我有一个C#.net应用程序,它为公司的内部用户和外部客户提供服务.我需要做一些细粒度的授权,比如访问哪些资源.所以我需要基于资源或基于属性的东西,而不是基于角色的授权.
我想到的是:
第一种方法的问题在于它不是集中式的,也不是标准的,因此其他系统不能将其用于授权.
第二种方法的问题是它可能更慢(由于每个资源需要额外的调用).此外,我不确定市场上的应用程序如何支持像XACML这样的标准授权,以便于将来的集成.
那么,一般来说,对于应该为内部用户和外部客户提供服务的Web应用程序进行细粒度授权的良好实践是什么?
我已经在研究.net项目,但我认为这个问题适用于任何编程语言/框架.
问题是读取类库配置的好方法是什么.我可以想到以下选项:
任何想法/偏好?
我正在构建一个使用 OpenId 来验证用户身份的 Web 应用程序,就像 Stackoverlfow 所做的那样。也会有一个移动应用程序,例如 Android 或 iPhone。这些应用程序必须以某种方式进行身份验证或登录,才能访问数据并更新属于用户的内容。由于无法提供用户名和密码来验证移动设备,我想知道如何实现这一点。
我想到了两种方法:
在服务器上生成一些必须在设备上输入的密钥。当移动设备发送或请求数据时,该密钥将作为身份验证密钥发送,并且可以通过这种方式链接用户。使用此选项时,密钥应以某种方式传输给用户,这样他就不必输入密钥。可能通过电子邮件、短信或扫描条形码。
移动应用程序使用浏览器或显示一个集成的 Web 面板,该面板可打开 Web 应用程序的特殊页面。在此页面上,用户必须登录,然后才能允许移动应用程序读取和写入数据。
我的问题是:这两种方法都可行且安全吗?您更喜欢哪一个?有哪些细节需要注意?还有其他方法可以做到这一点吗?如果我没问题的话,就不可能在设备上使用 OpenId,并以这种方式链接移动设备和 web 应用程序,对吧?
以下是一个示例场景:
想象一下,我们有员工记录,如:
name, age, salary (in 1000 dollars)
a, 20, 50
b, 22, 53
c, 34, 79
Run Code Online (Sandbox Code Playgroud)
等等.目标是计算不同年龄组的平均工资(例如21至30岁和31至40岁等).
我想用这个来做stream,我只是无法理解我需要用它groupingBy来完成这项工作.我想也许我需要定义某种元组年龄范围.有任何想法吗?