小编kev*_*n c的帖子

获取实体框架7中的已修改对象列表

我很难过 - 升级到Entity Framework 7,我通常会覆盖其中的SaveChanges,DbContext以便能够在更改之前获取所有修改对象的列表.最终,我有一个触发跟踪数据库中先前版本的脚本.在Entity Framework 6中,我会得到模型更改,如下所示:

var oc = ((IObjectContextAdapter)this).ObjectContext;
var modifiedItems = oc.ObjectStateManager.GetObjectStateEntries(EntityState.Modified | EntityState.Deleted);

List<ObjectStateEntry> ModifiedObjlist = modifiedItems.ToList();
Run Code Online (Sandbox Code Playgroud)

但是现在已经ObjectContext在Entity Framework 7中删除了,我被困住了,我将如何在Entity Framework 7中获取修改对象的列表?

.net c# entity-framework dbcontext entity-framework-core

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

MVC6默认页面

也许我刚刚醒了太多时间并完全监督了一些事情,但我正在使用MVC6 ASP.NET 5.0开发一个AngularJS网站.在我的wwwroot里面,我有一个index.html页面,它运行得很好,但后来应用了更新,现在突然间我只得到一个空白的白色屏幕:开发人员工具告诉我:

无法加载资源:服务器响应状态为404(未找到)

在我的创业公司里面我有以下内容:

public void Configure(IApplicationBuilder app)
{
    app.UseDefaultFiles(new Microsoft.AspNet.StaticFiles.DefaultFilesOptions() { DefaultFileNames = new[] { "index.html" } });
    app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)

有些原因我在调试时仍然会看到空白页面并且没有任何加载.

c# asp.net asp.net-mvc angularjs asp.net-core

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

将列表转换为数据透视列表

我有一个清单:

IList<PIData> list = new List<PIData>()
Run Code Online (Sandbox Code Playgroud)

这将返回如下列表:

Timestamp        | End              | HeaderTitle | Value
=========================================================
12/12/2012 00:00 | 12/12/2012 00:01 | Test1       | 0.23
12/12/2012 00:00 | 12/12/2012 00:01 | Test2       | 0.34
12/12/2012 00:00 | 12/12/2012 00:01 | Test3       | 0.556
Run Code Online (Sandbox Code Playgroud)

这种情况一直持续到有时我会有50-100个不同的HeaderTitles

我需要能够转动它并最终将其写入CSV,其中Row是标题.我知道如何将一个对象转换为CSV,但我有一个非常困难的时间转动列表并希望有人可以提供帮助.

这是我想要的样子:

Timestamp        | End              | Test1 | Test2 | Test3 | etc
==================================================================
12/12/2012 00:00 | 12/12/2012 00:01 | 0.23  | 0.34  | 0.556
12/12/2012 00:01 | 12/12/2012 00:02 | 0.23  | 0.34  | 0.556
12/12/2012 …
Run Code Online (Sandbox Code Playgroud)

.net c# pivot

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

Lambda表达式到Web API

我试图将Lambda表达式传递给Web API 2调用,但不确定如何使其工作.

我来给你一些背景知识

设置利用Entity Framework与数据库通信的Web API 2.

我的应用程序最终调用Web API 2以便能够与数据库通信.我的公司最终要求这样可以增加数据访问层的安全性.

我们在App Side上构建了一个存储库,可以很好地与Web API进行通信.但是,我们要添加的函数之一是包含Lambda表达式的FIND函数.

public IEnumerable<T> FindAll(Func<T, bool> exp)
{
    HttpClientHandler hndlr = new HttpClientHandler();
    hndlr.UseDefaultCredentials = true;
    HttpClient httpClient = new HttpClient(hndlr);

    httpClient.BaseAddress = new Uri(ADMS.Utilities.Settings.DALService);
    HttpResponseMessage response = httpClient.GetAsync(string.Format("api/{0}/{1}", typeof(T).Name, exp)).Result;

    if (response.IsSuccessStatusCode)
    {
       return response.Content.ReadAsAsync<IEnumerable<T>>().Result.ToList();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

我现在的问题是在控制器的Web API 2端如何让它接受Lambda Expression?我需要在控制器中放置什么才能看到这个?我需要转换Lambda表达式吗?

c# lambda asp.net-web-api asp.net-mvc-5 asp.net-web-api2

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

显示原始值实体框架7

我有一个审计表,跟踪添加,删除和修改.我在实体框架内跟踪这个而不是使用数据库触发器有多种原因,但实际上是因为我们使用了一个进程账户,我想跟踪用户实际对该记录进行了哪些更改.

我有这个与EF 5合作,我不记得我可能已经在EF6工作了.无论哪种方式,我都在用EF 7试图捕获原始值时遇到最困难的时间.

我注意到,当我在观察时 - 我可以看到非公开成员内部的原始价值 - 所以在我的脑海里,我知道它必须存在于某个地方.

最终这适用于EF早期版本:

EntityEntry dbEntry; //this is actually passed in a different area just showing as an example.

foreach (string propertyName in dbEntry.OriginalValues.PropertyNames)
{
    // For updates, we only want to capture the columns that actually changed
    if (!object.Equals(dbEntry.OriginalValues.GetValue<object>(propertyName), dbEntry.CurrentValues.GetValue<object>(propertyName)))
    {
        result.Add(new TableChange()
        {
            AuditLogID = Guid.NewGuid(),
            UserID = userId,
            EventDateUTC = changeTime,
            EventType = "M",    // Modified
            TableName = tableName,
            RecordID = dbEntry.OriginalValues.GetValue<object>(keyName).ToString(),
            ColumnName = propertyName,
            OriginalValue = dbEntry.OriginalValues.GetValue<object>(propertyName) == null ? …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework entity-framework-core

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

Jquery $ .Ajax冻结浏览器

我有一个函数可以调用Json Response并在Google Plots中绘制数据...我每隔90秒执行一次这个功能,所以它用最新数据更新我的图表....

这很好但无论什么时候它处理它似乎锁定浏览器短暂几秒钟(甚至加载器冻结)我没关系,如果图形部分冻结但我不希望加载器或其他项目冻结我想要的UI在图表更新时仍能正常工作.

有人可以帮助我,也许我应该改变$ .ajax

这是代码:

function UpdateCharts() {
clearInterval(timerId);
BuildLineChart('power-chart', $('#datePower').val(), '1,28,32');
BuildLineChart('voltagecurrent-chart', currentDate, '13,15,17,5,7,9');
BuildLineChart('phasekw-chart', currentDate, '2,3,4');
BuildLineChart('phasevoltage-chart', currentDate, '13,15,17');
BuildLineChart('phasecurrent-chart', currentDate, '5,7,9,11');
timerId = setInterval(UpdateCharts, 90000);
}


// document ready function
$(document).ready(function() {
setTimeout(UpdateCharts, 5000);
});
Run Code Online (Sandbox Code Playgroud)

构建折线图然后执行此操作:

 function onDataReceived(seriesData) {
            var p = $.plot(placeholder, seriesData.seriesData, options);
        }

        $.ajax({
            url: '/Charts/LineChart?SeriesToGraph=' + dataPoints + '&DatePull=' + chartDate,
            method: 'GET',
            async: false,
            cache: true,
            dataType: 'json',
            beforeSend: function() {
            $("." + placeHold + "-loader").html('<img src="/Assets/images/loaders/circular/066.gif" />');
            },
            complete: …
Run Code Online (Sandbox Code Playgroud)

jquery json

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