小编And*_*way的帖子

为什么EF 5.0在编译为sql时不支持这种EF 4.x LINQ语法?

我有一些代码最近从EF 4.2升级到EF 5.0(实际上是EF 4.4,因为我在.Net 4.0上运行).我发现我必须改变查询的语法,我很好奇为什么.让我从问题开始吧.

我有一个EventLog表,由客户端定期填充.对于每个事件日志,将在"报告"表中创建一个条目.这是定期运行的查询,用于发现尚未在"报告"表中包含条目的任何事件日志.我在EF 4.2中使用的查询是:

from el in _repository.EventLogs
where !_repository.Reports.Any(p => p.EventLogID == el.EventlogID)
Run Code Online (Sandbox Code Playgroud)

从升级到EF 5.0后,我在运行时收到以下错误:

System.NotSupportedException:无法创建"Namespace.Report"类型的常量值.在此上下文中仅支持基元类型或枚举类型.

我发现使用join语法重写它可以解决问题.以下适用于EF 5.0,大致相当于:

from eventLog in _repository.EventLogs
join report in _repository.Reports on eventLog.EventlogID equals report.EventLogID into alreadyReported
where !alreadyReported.Any()
Run Code Online (Sandbox Code Playgroud)

有些人可能对第一个查询的混合语法/样式有不同的看法,但我真的对这个原因更感兴趣.看起来奇怪的是EF 4.2编译器可以为原始查询生成SQL但是EF 5.0拒绝了.这是我缺少的设置还是两者之间的约束?为什么会这样?

.net c# linq entity-framework entity-framework-5

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

是否有EDI X12 856的官方XML Schema(xsd)?

我仍然是EDI的新手,并且在新工作中学习它.我们正在使用BizTalk作为我们的EDI解决方案,并将传入的EDI文件转换为XML.我遇到了来自新供应商的文件问题,并且最初认为该文件可能不正确.我已经知道文件是正确的,但是我们当前的XML模式是本土的,并且基本上需要定制以接受这个856.我想传入的一些数据比我们通常的供应商传递给我们的更多(尽管根据EDI X12 856仍然有效).

虽然我可以做到这一点,但真正的答案似乎是获取实际EDI规范的xsd文件.似乎已经存在这种标准化格式.有谁知道这样的东西是否可用?

更新:事实证明,有一个内置的EDI映射功能,通过"EDI反汇编程序"组件在管道中完成.这将转换为标准化的BizTalk EDI架构并正常运行.显然,我们的代码然后将该XML转换为我们自己的XML模式.肯定有改进的空间,但我认为关于架构标准的信息是我现在正在寻找的.

c# xml xsd x12

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

有没有办法通过代码自动打开或关闭BizTalk接收位置?

有没有办法自动打开或关闭BizTalk中的接收位置?似乎应该有某种API或某些类似的东西.我更喜欢在C#中工作,但WMI或某种脚本也可以工作.

c# biztalk biztalk2006r2

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

我在哪里可以找到Receipt Barcodes的规格?

我对收据底部的条形码有疑问.我正在寻找围绕它编写一些软件,并且会对它周围的任何规格或第三方软件包感兴趣.我真正需要的是这些系统的可靠信息来源.

我的理解是,大多数销售点系统都支持在收据底部打印条形码.条形码包含哪些信息?我假设收据上的信息,如购买的物品,物品成本,日期等?

是否存在单一的规范,所有这些规范都遵循或从销售点系统到销售点系统各不相同?

barcode barcode-scanner receipt

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

在WPF ComboBox上,是否可以为文本框和弹出窗口设置不同的前景颜色?

基本上我的问题源于希望文本框部分为白色,而下拉为黑色.当我将文本设置为白色时,下拉按照我的要求显示,但文本框中的文本本身几乎无法读取.将前景设置为黑色会使下拉不可读.

有没有一个好方法来处理这个?我还在学习WPF.

wpf xaml combobox

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

我可以从ASP.NET页面下载由内存流制作的Excel文件吗?

我有一个用户提供ID的ASP.NET页面,然后我们从数据库中提取一些数据并将其放入Excel电子表格中.我想在内存中创建Excel文件,然后允许用户下载该文件.我可以在服务器上创建一个文件,然后删除它,但似乎没必要.根据错误处理,我可能使用该方法孤立文件等.

这样的事情可能吗?或者我需要使用文件流吗?

另外,我正在使用EPPlus作为API(快速插件).

c# asp.net excel epplus

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

使用linq提供按日期存在的用户总数的运行总计

这个前提非常简单,但我似乎无法确定如何在linq中描述这一点.我正在使用EF,我应该能够在一个查询中提取数据.

我有一个用户对象具有以下(简化):

public class User
{
  public DateTime addDate;
  public int status;
  bool isActive
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个报告,该报告采用显示以下列的日期范围(即startDate/endDate):

在此输入图像描述

(数字不加,只是为了表演)

第一列是数据按日期分组的日期.第二个是当时已添加到系统的用户数的运行总计.其余的是首先由isActive bool分解用户,然后按状态分解.

我是否可以向SO的一位知识渊博小组寻求帮助?我可以将数据拉入并在代码中执行,但这不是最佳的.我想了解如何在linq中完成这项工作.

==================================

编辑:我意识到有一件我不清楚.这些数字并不反映当天加入的成员数量,而是迄今为止的总数.我相信我可能正在寻找一个聚合,但我不确定.也许一笔钱也可以.

因此,在该示例中,截至2014年1月13日,有297个具有13或更早的addDate.2014年1月14日,没有成员被添加,最后在2014年1月15日增加了三个用户,总共300个用户.

c# linq entity-framework

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