小编tam*_*tam的帖子

实体框架4.2,无法设置标识插入ON

我想将批量记录添加到具有给定ID的表中,这样我就可以构建一个以树视图方式显示记录的层次结构.我可以单独添加工作正常的记录,但我没有设置ID.我想只批量设置ID,所以我在我的实体的id列中设置DatabaseGeneratedOption None作为None.

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
{

     foreach (ErrorCode ec in errorCodesStep3.errorcodesUsers)
     {

           errorCode.ID = ec.ID;
           errorCode.ParentID = ec.ParentID;
           errorCode.ErrorDescription = ec.ErrorDescription;
           db.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.ErrorCode ON");
           db.ErrorCode.Add(errorCode);
           db.SaveChanges();    
           scope.Complete();
     }
}
Run Code Online (Sandbox Code Playgroud)

错误代码

[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ID { get; set; }
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

当标识插入为OFF时,无法设置标识.

不确定什么是错的,因为我已经看到了可以打开身份插入的示例.我使用的是EF版本4.2.0.0和运行时版本v4.0.30319.我可以通过executeSQL参数化变量轻松添加INSERT语句,但我想用实体框架来做.似乎db.Database.ExecuteSqlCommand是在一个单独的范围内,它立即关闭,并在db.savechanged执行时不可用.

c# asp.net asp.net-mvc ado.net entity-framework-4.1

11
推荐指数
1
解决办法
1366
查看次数

在IE 10中成功的XMLHttpRequest之后,无法通过.Ajax发布到新的操作方法

我在我的应用程序中添加了一项新功能,允许用户按步骤完成一个过程.

Step1选择下拉值

点击下一步按钮和第2步(ajax请求加载并呈现局部视图,呈现树视图)

点击下一步按钮

第3步(通过XMLHttpRequest上传文件)

点击下一步按钮

步骤4(另一个ajax请求呈现部分视图)由于某种原因,此请求永远不会命中控制器操作方法.奇怪的是,如果我在步骤2中发布操作方法,它将成功发布,但我对此步骤有不同的操作.

我在IE 10 Developer工具中收到以下警告

SEC7127:针对CORS请求阻止了重定向.

XMLHttpRequest:网络错误0x800c0014,发生重定向问题.SCRIPT7002:XMLHttpRequest:网络错误0x800c0014,发生重定向问题.

上述错误似乎与此步骤之前的XMLhhtprequest有关.我试图将XMLhttprequest设置为NULL或尝试将其置于其成功事件上.我在第4步中不明白,我仍然可以发布到第2步的动作但不是另一个动作?

第3步

  function handleFiles() {

        var formdata = new FormData(); //FormData object
        var xhr = new XMLHttpRequest();
        xhr.open('POST', fileUploadURL);
        xhr.setRequestHeader('Content-type', 'multipart/form-data');

        //Appending file information in Http headers
        xhr.setRequestHeader('X-File-Name', document.getElementById('myFile').files[0].name);
        xhr.setRequestHeader('X-File-Type', document.getElementById('myFile').files[0].type);
        xhr.setRequestHeader('X-File-Size', document.getElementById('myFile').files[0].size);

        //Sending file in XMLHttpRequest
        xhr.send(document.getElementById('myFile').files[0]);
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                $("input[id=filestoredname]").val(xhr.responseText);
                alert("file saved..");

            }
        }
                return false;
    }

var instrumentSelectionUrl = '@Url.Action("Step2", "ErrorCode")';//step2
var finalTreeViewUrl = …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax jquery asp.net-mvc-3 xmlhttprequest-level2

7
推荐指数
1
解决办法
1091
查看次数

如何使用javascript正则表达式从字符串中删除字符

我有一个字符串值,其示例如下所示

data:


130823  ~ Optics-Bottle Detect failure ~ L 0 ~ P 0 | 130824 ~ Optics-Bubble Detect failure ~ L 0 ~ P 0

Format:

ID:          130823
Description: Optics-Bottle Detect failure 
Reps:        L O
Pending:     P 0
Run Code Online (Sandbox Code Playgroud)

我的最终字符串基本上应该删除连接字符串中每个部分的 ID,因此通过查看上面的示例数据,所需的输出应如下所示:

 Optics-Bottle Detect failure ~ L 0 ~ P 0 | Optics-Bubble Detect failure ~ L 0 ~ P 0 
Run Code Online (Sandbox Code Playgroud)

一根弦中可能有N个部分。为了举例,我只包含一个示例字符串,其中有两个部分。

**我的正则表达式

我使用以下正则表达式,但它只删除了字符串第一部分中的 ID

var y = x.replace(/\d{6}\s~\s/g, "");
Run Code Online (Sandbox Code Playgroud)

javascript

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

JavaScript确认会自动发布表单

我有一个部分视图,其中包含用于上载文件的文件输入.此视图上的用户将从其工作站中选择一个文件,然后单击上载按钮.上载单击会将表单提交给操作方法,并解析文件并返回相同的视图以自动填充视图上的几个字段.

一切都是完美的.我在现有视图中添加了一个新要求,如下所示:

需求

用户选择一个文件并单击上传按钮.单击上载按钮后,会向用户显示一个JavaScript确认对话框,其中包含两个按钮选项,然后将表单提交给控制器操作方法.这些按钮是"Buffer Run Parsing"和"Normal Parsing".单击任何这些按钮将发布到控制器操作方法.

在post上的控制器动作方法中,我的目标是捕获他们按下的按钮,并根据按下的按钮我相应地选择文件解析逻辑.

问题

我创建了一个JavaScript函数,它显示了两个按钮,但对话框自动消失,表单发布到控制器.我希望它不发布,直到我点击任一确认按钮.

这是我在做的事情:

主要观点:

@using (Html.BeginForm("Create", "RunLogEntry", FormMethod.Post, new { id = "form", enctype = "multipart/form-data"}))
{
    <div id="main">
        @Html.Partial("_RunLogEntryPartialView", Model)
    </div>
}
Run Code Online (Sandbox Code Playgroud)

局部视图:

<button name="submit" class="art-button" type="submit" value="Upload" onclick="initUploadDailog();return false;"
    style="width: 100px">
    Upload</button>

<div id="uploadConfirmation" style="font-size: 10px; font-weight: normal; overflow: scroll;
    width: 800px; height: 450px; display: none;">
</div>
Run Code Online (Sandbox Code Playgroud)

JS功能:

 function initUploadDailog(e) {
        currentForm = $(this).closest('form');
        UploadDialog = $("#uploadConfirmation").dialog({
            modal: true,
            width: 400,
            autoOpen: true,
            title: 'Please select parsing type for Test …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery

4
推荐指数
1
解决办法
785
查看次数

检查值是否为数字且大于0

对于可变校正计数,我的值为0.075445054945055,并具有以下功能.基本上我需要一个函数来查看该值是否为数字且大于0.我的当前函数仅适用于整数而不适用于0.075等值.

字段correctCount在解析时来自文件.

  var correctedCount
  int num;
  bool isNumeric = int.TryParse(correctedCount, out num);

  if (isNumeric)
   {

    }
Run Code Online (Sandbox Code Playgroud)

c#

2
推荐指数
2
解决办法
5054
查看次数

FTP 连接失败“无法连接到远程服务器”

我正在尝试连接到 FTP 服务器以上传文件。我收到“无法连接”错误。如果我使用命令行并打开 FTP 连接,我就可以连接。不知道为什么以编程方式连接时出现错误。任何帮助肯定会受到赞赏。

 FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://1.23.84.2");
 request.Method = WebRequestMethods.Ftp.UploadFile;                   

 request.Credentials = new NetworkCredential("user","password");

 // Copy the contents of the file to the request stream.    
 StreamReader sourceStream = new StreamReader(path);
 byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
 sourceStream.Close();
 request.ContentLength = fileContents.Length;

 Stream requestStream = request.GetRequestStream();
 requestStream.Write(fileContents, 0, fileContents.Length);
 requestStream.Close();

 FtpWebResponse response = (FtpWebResponse)request.GetResponse();

 Console.WriteLine("Upload File Complete, status {0}", 
          response.StatusDescription);

 response.Close();
Run Code Online (Sandbox Code Playgroud)

c# ftpwebrequest

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

Azure上的多租户(SaaS)Web应用程序,部署选项

我正处于多租户Web应用程序的规划阶段,主要面向最有可能在Azure上托管的美国客户.

我正在研究各种定价/部署计划,并对以下内容感到好奇:

根据他们的网站:

在多租户环境中,每个子区域最多可以免费运行10个网站.随着流量的增长,无缝升级到付费共享多租户或预留实例模型.

以上是指同一站点的不同实例还是多达10个不同的站点?

也有人知道一个网站是否可以订阅多个SQL Server实例?例如,数据库的最大限制,大小为150 GB.

考虑到其增长潜力,我的目标网站可能在前六个月内拥有100-200个用户.我的基本计划将为每位客户提供至少1GB的数据存储空间.所以假设我超过了150GB的限制,那么我可以为同一个站点添加额外的数据库吗?

我对整个云计算事物都很陌生,所以请耐心等待并分享您的想法.

azure

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