小编Ste*_*old的帖子

实体框架查询性能与原始SQL执行的extrem不同

我有一个关于Entity Framework查询执行性能的问题.

架构:

我有这样的表结构:

CREATE TABLE [dbo].[DataLogger]
(
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [ProjectID] [bigint] NULL,
    CONSTRAINT [PrimaryKey1] PRIMARY KEY CLUSTERED ( [ID] ASC )
)

CREATE TABLE [dbo].[DCDistributionBox]
(
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [DataLoggerID] [bigint] NOT NULL,
    CONSTRAINT [PrimaryKey2] PRIMARY KEY CLUSTERED ( [ID] ASC )
)

ALTER TABLE [dbo].[DCDistributionBox]
    ADD CONSTRAINT [FK_DCDistributionBox_DataLogger] 
    FOREIGN KEY([DataLoggerID]) REFERENCES [dbo].[DataLogger] ([ID])

CREATE TABLE [dbo].[DCString] 
(
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [DCDistributionBoxID] [bigint] NOT NULL,
    [CurrentMPP] [decimal](18, 2) NULL,
    CONSTRAINT [PrimaryKey3] …
Run Code Online (Sandbox Code Playgroud)

c# sql-server entity-framework sql-server-2008 entity-framework-6

22
推荐指数
1
解决办法
9358
查看次数

JS Globalize - 加载json cldr

我的最新版本有问题globalize.js.要使用它,我必须加载cldr modules和语言定义.

现在我从全球化文档中得到了这个例子:

// loading needed modules
$.get('/Scripts/cldr/supplemental/likelySubtags.json', Globalize.load);
$.get('/Scripts/cldr/main/en/numbers.json', Globalize.load);
$.get('/Scripts/cldr/main/de/numbers.json', Globalize.load);

// set current language
lobalize.locale('de-de');
Run Code Online (Sandbox Code Playgroud)

我现在的问题是本地json文件加载异步.这意味着在我的脚本尝试设置当前语言的那一刻,模块尚未加载.

现在我试着变得聪明并做到了这一点:

$.get('/Scripts/cldr/supplemental/likelySubtags.json', function (data) {
        Globalize.load(data);
        Globalize.locale('de-de');
});

$.get('/Scripts/cldr/main/en/numbers.json', Globalize.load);
$.get('/Scripts/cldr/main/de/numbers.json', Globalize.load);
Run Code Online (Sandbox Code Playgroud)

这将一直有效,直到我真正使用全球化格式方法.在我的HTML里面,我在一个淘汰赛绑定中使用全局化,如下所示:

<span data-bind="text: Globalize.formatNumber(SomeNumber, { maximumFractionDigits: 0 })"></span>
Run Code Online (Sandbox Code Playgroud)

现在"formatNumber"方法抛出错误,因为在绑定发生时并非所有模块都被加载.

我现在的问题是,如何同步我的JavaScript?

javascript jquery json knockout.js cldr

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

Azure云服务嵌入式FTP服务器

我想在Azure云服务工作者角色中托管嵌入式FTP服务器.

要提供对FTP服务器的被动访问,它使用端口范围20000-21000.ServiceDefinition.csdef我在里面定义了所有需要的端口(见截图).

ServiceDefinition.cscfg

主要问题是港口数量巨大.如果我尝试将服务上传到云端,则会出现以下错误.

验证错误:输入端点数无效 - 当前1002,最大值 25

如何通过云服务实现这项工作?

c# azure endpoint ftp-server azure-cloud-services

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

System.IO.Compression.Zip存档内存管理

在.Net 4.5中,System.IO.Compression.ZipArchive类获得了一些更新。

如此处可读(http://msdn.microsoft.com/en-us/magazine/jj133817.aspx)所示,它现在应该执行“典型操作不需要将整个档案读入内存”。

为了进行测试,我尝试压缩10个文件,每个文件200MB。

如果您使用以下代码创建新的zip存档,则效果很好(在整个过程中内存使用率较低):

for (int directoryGroupIndex = 0; directoryGroupIndex < directoryGroups.Count; directoryGroupIndex++)
{
  String directoryGroupKey = directoryGroups.Keys.ElementAt(directoryGroupIndex);
  FileInfo[] directoryGroup = directoryGroups[directoryGroupKey];

  String archiveFileName = String.Format("Readed Logfiles{0}", archiveFileExtension);
  String archiveFileFullName = Path.Combine(directoryGroupKey, archiveFileName);
  FileInfo archiveFile = new FileInfo(archiveFileFullName);


  using (FileStream archiveFileStream = new FileStream(archiveFile.FullName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read))
  using (ZipArchive archive = new ZipArchive(archiveFileStream, ZipArchiveMode.Create, false))
  {
    for (int directoryGroupFileIndex = 0; directoryGroupFileIndex < directoryGroup.Length; directoryGroupFileIndex++)
    {
      FileInfo file = directoryGroup[directoryGroupFileIndex];
      String archiveEntryName = file.Name;
      String archiveEntryPath = …
Run Code Online (Sandbox Code Playgroud)

c# compression zip .net-4.5

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