小编Rik*_*Rak的帖子

使用EntityFramework 6 Code-First播种期间的IDENTITY_INSERT

我有一个有Auto-identity (int)列的实体.作为数据种子的一部分,我想在我的系统中使用"标准数据"的特定标识符值,之后我想让数据库整理id值.

到目前为止,我已经能够IDENTITY_INSERT将插件批处理设置为On,但实体框架不会生成包含该插件的插入语句Id.这是有道理的,因为模型认为数据库应该提供值,但在这种情况下,我想提供值.

模型(伪代码):

public class ReferenceThing
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id{get;set;}
    public string Name{get;set;}
}

public class Seeder
{
    public void Seed (DbContext context)
    {

        var myThing = new ReferenceThing
        {
            Id = 1,
            Name = "Thing with Id 1"
        };

        context.Set<ReferenceThing>.Add(myThing);

        context.Database.Connection.Open();
        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT ReferenceThing ON")

        context.SaveChanges();  // <-- generates SQL INSERT statement
                                //     but without Id column value

        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT ReferenceThing OFF")
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都能提供任何见解或建议吗?

c# entity-framework entity-framework-6

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

全球Asax与全球过滤器

我的应用程序是用MVC5编写的.

我注意到随着应用程序的增长,我的Global.Asax文件正在慢慢填满代码.特别是在Application_EndRequest中存在大量代码,这些代码执行诸如记录,设置响应头和一些安全/身份验证之类的事情.

我想知道这种东西是否可以安全地转移到一组全局过滤器中?我之前没有使用全局过滤器,但它们似乎是一种以可测试和封装的方式执行此类代码的简洁方法.

所以:

  • Global.asax Application_EndRequest是否直接等效于全局过滤器的OnActionExecuted方法?
  • 在全局过滤器和Application_EndRequest之间进行选择时需要考虑哪些因素?

谢谢

c# asp.net-mvc action-filter asp.net-mvc-5

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

如何覆盖Javascript类中的函数,并调用基函数

是否可以覆盖Javascript类中的函数,并调用它的基本实现?我通过使用原型来实现这一目标,但我试图保留一些数据的隐私.

这是我到目前为止所做的,它不起作用.我可以看出为什么它不起作用,但我看不到解决它的方法.我开始怀疑这在javascript中是不可能的(没有跳过很​​多箍).

另外,我需要支持IE11,所以不能使用ES6.

    var NoProto = NoProto || {};

    NoProto.Shape = (function(){
        var thing = function(name){
            var privateData = 'this is a ' + name;

            var self = this;
            this.base = function(){
                return self;
            };

            this.doStuff = function(){
                return privateData;
            };
        };

        return thing;
    })();

    NoProto.Square = (function(){
        var thing = function(colour){
            NoProto.Shape.call(this, "square");

            this.doStuff = function(){
                // this fails (stack overflow)
                // ------> how to call the "base" function: doStuff, and preserve the private data?
                var val = this.base().doStuff(); …
Run Code Online (Sandbox Code Playgroud)

javascript

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