小编Tho*_*ian的帖子

有条件包含然后包含

众所周知,EF-Core 中不存在延迟加载。所以这意味着我不得不事后才进行查询。所以既然要思考,那我不妨尝试一下好好做。

我有一个相当标准的更新查询,但我想,嘿,我并不总是需要包含HeaderImagePromoImageFK 对象。应该有办法实现这一点。但我无法找到一种方法来稍后执行包含。事实上,我想也许在我真正对这个对象进行工作之前就包括在内。这样我也许能够自动化一些渴望。

ArticleContent ac = _ctx.ArticleContents
    .Include(a=> a.Metadata)
    .Include(a=> a.HeaderImage)
    .Include(a=> a.PromoImage)
    .Single(a => a.Id == model.BaseID);

ac.Title = model.Title;
ac.Ingress = model.Ingress;
ac.Body = model.Body;
ac.Footer = model.Footer;

if (model.HeaderImage != null)
{
    ac.HeaderImage.FileURL = await StoreImage(model.HeaderImage, $"Header_{model.Title.Replace(" ", "_")}_{rand.Next()}");
}
if (model.PromoImage != null)
{
    ac.PromoImage.FileURL = await StoreImage(model.PromoImage, $"Promo_{model.Title.Replace(" ", "_")}_{rand.Next()}");
}

ac.Metadata.EditedById = uId;
ac.Metadata.LastChangedTimestamp = DateTime.Now;

await _ctx.SaveChangesAsync();
Run Code Online (Sandbox Code Playgroud)

额外的

需要明确的是,这是EF7 (Core),我在找到一个允许我按需添加包含内容的解决方案之后,希望在初始之后_ctx.ArticleContents.Include(a=> a.Metadata).Single(a => a.Id == model.BaseID).

c# linq-to-entities entity-framework entity-framework-core

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

如何反转LINQ to SQL查询

我想反转LINQ to SQL查询的输出.和.Reverse()不起作用,只是崩溃了页面.

protected void Page_Load(object sender, EventArgs e)
{
    NewsDataContext db = new NewsDataContext();
    var News = from news in db.News                   
               select new 
               {
                   ID = news.NewsID,
                   kort = news.Short
               };

    foreach (var newa in News)
    {
        Panel1.
        Controls.
        Add(new LiteralControl(newa.kort + 
                               "</br>" + 
                               "<a href=Full.aspx?id=" + 
                               newa.ID + 
                               ">Read The full Article</a>"));
    }
}
Run Code Online (Sandbox Code Playgroud)

还有另一种方法可以扭转它吗?

c# asp.net linq-to-sql

4
推荐指数
3
解决办法
5331
查看次数

OData路径模板不是有效的OData路径模板

我有一个具有ODataRoute的HttpGet方法

["Users({userId}/Tags)"]
Run Code Online (Sandbox Code Playgroud)

userId是一个字符串,方法名称是UserTags。控制器是UsersController

当我运行该应用程序时,出现以下错误:

Users({userId})/Tags控制器中“ UserTags”操作上的路径模板Users不是有效的OData路径模板。Tags在OData路径模板中 找到了一个未解决的路径段Users({userId})/Tags

c# rest odata asp.net-web-api2

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

如何编写“ XML doc”以使用多个变量进行声明?

在一个相当大的C#项目上工作,该项目已经可以使用简单的类似变量,所以可以说我有这样的作品

    double
        TempAngle = 1,
        AngleCountDown = HalfSight,
        SightAngleFromCopter = 0;
Run Code Online (Sandbox Code Playgroud)

如何像执行方法一样记录它们(见下文)?

    /// <summary>
    /// general explanation
    /// </summary>
    /// <param name="a">some hole num</param>
    /// <param name="b">some string</param>
    public MainWindow( int a ,string b)
    {} 
Run Code Online (Sandbox Code Playgroud)

最后,我想做的就是写点东西

    /// <param name="TempAngle">some</param>
    /// <param name="AngleCountDown">something</param>
    /// <param name="SightAngleFromCopter">something else</param>
    double
        TempAngle = 1,
        AngleCountDown = HalfSight,
        SightAngleFromCopter = 0;
Run Code Online (Sandbox Code Playgroud)

c# documentation xml-documentation

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

清空空槽的函数数组

即时通讯有问题,我有一系列经常添加和删除的功能.

但是,当我在数组上做foreach时,它说索引不存在.

输入: arr[arr.length] = function () { Func() };

去掉: delete arr[indexToRemove];

因为现在不工作所以我使用foreach for (key in arr)

我感觉有可能在索引上溢出,所以为了防止这种情况我想找到空数组位置并重新定位其中的项目.这就是我正在考虑清理的问题.

    var temp = new Array();
    var count = 0;
    for (key in arr) {
        if (arr[key] != null) {
            temp[count] = arr[key];
            count++;
        }
    }
    arr = temp;
Run Code Online (Sandbox Code Playgroud)

有没有更好的解决方案,并且空数组的函数插槽看起来像null?

javascript arrays

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

使用自定义类扩展类型

我想知道一些事情.而不是写入String.Format("{0:X}", num);将数字转换为十六进制.有没有办法我可以直接扩展字符串,以便我可以简单地写num.ToHex();

c#

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

PL/SQL FETCH NEXT 或 rownum

不多说,应该用什么?他们希望执行相同的任务。

行数?

select * from IDENTIFIKATOR
  where rownum <= 10;
Run Code Online (Sandbox Code Playgroud)

或者获取下一个?

select * from IDENTIFIKATOR
  FETCH NEXT 10 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)

根据进一步的期望 rownum,表面上看起来可能会更快

select * from (select * from IDENTIFIKATOR order by IDENTIFIKATORID )
  where rownum <= 10;  
Run Code Online (Sandbox Code Playgroud)

基数为 10,成本为 10(普通执行时间为 0.15-0.2 秒(asc 与 desc))

select * from IDENTIFIKATOR 
order by IDENTIFIKATORID 
FETCH NEXT 10 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)

基数为 10,成本为 158869(普通执行时间为 1.9s-2s(asc 与 desc))

sql oracle plsql

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

ODataProperties (System.Web.OData.Extensions - OData v4) 缺少“模型”属性

我正在尝试创建一个ODataQueryContext需要EdmModel引用的实例。我试图让ModelODataProperties()它是一个方法调用关闭的HttpRequestMessage对象。

var orderBy = new OrderByQueryOption("ColumnName desc", new ODataQueryContext(Request.ODataProperties().Model, typeof(MyType)));
Run Code Online (Sandbox Code Playgroud)

似乎如果我使用命名空间using System.Web.Http.OData.Extensions;而不是using System.Web.OData.Extensions;Model 属性可从ODataProperties(). 但是,我使用的是较新版本 (OData v4) 命名空间,用于我程序中的其他引用。

在做了一些研究之后,我确定使用 OData v4,他们将所有内容从Web.Http.OData.*命名空间移动到Web.OData.*命名空间。我假设我需要在使用新的或旧的命名空间时保持一致,并且我没有成功尝试混合它们。

有谁知道如何在不使用旧命名空间的情况下获取Model属性?ODataProperties()Web.Http.OData

c# asp.net odata

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

更改.net中HTML5视频标签中的src

我想知道是否有一种方法可以轻松地从代码隐藏更改 HTML5 中视频标签中的 src?

我现在的解决方案是使用不同的 WebUserControl,并在单击按钮时将它们放置在 PlaceHolder 中,但是这种快速会导致很多控件。

一定有更好的方法。

也许就像在 src 中放置标签、绑定某种类型

.net c# html5-video

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

在9999999/10000000上,double等于0

我有一个问题,我正在做一些个人研究如何工作http://www.codeproject.com/Articles/17480/Optimizing-integer-divisions-with-Multiply-Shift-i但我没有得到远,直到我得到难倒,所以代码atm应该返回大约100%的错误

        double sum = 0, div = 3;
        DateTime t1 = DateTime.Now;
        List<double> l1 = new List<double>();
        for (int a = 0; a < 10000000; a++)
        {
            sum = a / div;
            l1.Add(sum);
        }
        Console.WriteLine("Milisecond: " + DateTime.Now.Subtract(t1).TotalMilliseconds);
        t1 = DateTime.Now;
        List<double> l2 = new List<double>();
        for (int a = 0; a < 10000000; a++)
        {
            sum = a * div;
            l2.Add(sum);
        }
        Console.WriteLine("Milisecond: " + DateTime.Now.Subtract(t1).TotalMilliseconds);
        int c=0;
        int err = 0;
        for (int a = 0; …
Run Code Online (Sandbox Code Playgroud)

c# floating-point

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