小编dot*_*oob的帖子

有什么不同.AsNoTracking()会做什么?

我有一个关于.AsNoTracking()扩展的问题,因为这一切都很新而且很混乱.

我正在使用网站的每请求上下文.

我的很多实体都没有改变,所以不需要跟踪,但我有以下场景,我不确定数据库会发生什么,甚至在这种情况下它是否有所不同.

这个例子就是我目前正在做的事情:

context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Run Code Online (Sandbox Code Playgroud)

这与上面相同,但从.AsNoTracking()步骤1中删除:

context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Run Code Online (Sandbox Code Playgroud)

步骤1和2使用相同的上下文,但在不同的时间发生.我无法解决的是,是否存在任何差异.由于步骤2是更新,我猜两个都会打两次数据库.

谁能告诉我有什么区别?

.net c# entity-framework entity-framework-4.3

211
推荐指数
6
解决办法
13万
查看次数

在使用界面时如何实现私有的setter?

我创建了一个带有一些属性的界面.

如果接口不存在,则类对象的所有属性都将设置为

{ get; private set; }
Run Code Online (Sandbox Code Playgroud)

但是,在使用接口时不允许这样做,这样可以实现,如果是这样,怎么办?

c# asp.net interface getter-setter

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

如何将泛型枚举转换为int?

我有一个小方法,看起来像这样:

public void SetOptions<T>() where T : Enum
{
    int i = 0;
    foreach (T obj in Enum.GetValues(typeof(T)))
    {
        if (i == 0)
            DefaultOption = new ListItem(obj.Description(), obj.ToString());
        i++;
        DropDownList.Items.Add(new ListItem(obj.Description(), obj.ToString()));
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,我从枚举中填充下拉列表.Description()实际上是枚举的扩展方法,所以T绝对是一个enum.

但是,我想像obj你这样对任何枚举进行(int)obj转换,但是我得到一个错误,说我无法将T转换为int.有没有办法做到这一点?

c# enums

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

LINQ to Entities消息中仅支持无参数构造函数和初始值设定项

我有一个从EF模型返回数据的方法.

我收到了上述消息,但我无法告诉我们如何规避问题.

    public static IEnumerable<FundedCount> GetFundedCount()
    {
        var today = DateTime.Now;
        var daysInMonth = DateTime.DaysInMonth(today.Year, today.Month);

        var day1 = DateTime.Now.AddDays(-1);
        var day31 = DateTime.Now.AddDays(-31);

        using (var uow = new UnitOfWork(ConnectionString.PaydayLenders))
        {
            var r = new Repository<MatchHistory>(uow.Context);

            return r.Find()
                .Where(x =>
                    x.AppliedOn >= day1 && x.AppliedOn <= day31 &&
                    x.ResultTypeId == (int)MatchResultType.Accepted)
                .GroupBy(x => new { x.BuyerId, x.AppliedOn })
                .Select(x => new FundedCount(
                    x.Key.BuyerId,
                    x.Count() / 30 * daysInMonth))
                .ToList();
        }
    }
Run Code Online (Sandbox Code Playgroud)

FundedCount不是EF enity,MatchHistory是,所以无法理解它为什么抱怨.

所有建议都赞赏.

c# linq linq-to-entities

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

App = EntityFramework在Sql连接字符串中做了什么?

我有2个连接字符串 - 1个本地,1个用于我的主要生产服务器.当我安装它时,实体框架将App = EntityFramework添加到我的本地字符串(4.1) - 我现在在4.3上.这是做什么的 - 我找不到任何参考?

这是我的本地连接字符串:

<add name="LocalConnection"
      providerName="System.Data.EntityClient"
      connectionString="metadata=
      res://*/;
      provider=System.Data.SqlClient;
      provider connection string='
      Data Source=.\SQLEXPRESS;
      AttachDBFilename=C:\mypath\MyDb.mdf;
      Integrated Security=True;
      User Instance=True;
      MultipleActiveResultSets=True;
      App=EntityFramework'" />
Run Code Online (Sandbox Code Playgroud)

只是好奇!

sql database entity-framework connection-string

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

如何使用转换语法更改web.config设置?

我有一个存储在我的web.config文件中的值,我想在网站发布时更改.我想将它从TEST更改为LIVE.

<appSettings>
    <add key="RequestMode" value="TEST" />
    // other keys here
</appSettings>
Run Code Online (Sandbox Code Playgroud)

这是否可以使用web.config转换语法?如果是这样,怎么样?

谢谢.

asp.net web-config config-transformation

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

CSS - 如何从div溢出到屏幕的全宽

我有一个包含DIV,我用作响应网格的一部分.它扩展到允许的最大宽度1280px,然后大型设备出现边距.这是我的CSS +一点点.

.container
{
    margin-left:auto;
    margin-right:auto;
    max-width:1280px;
    padding:0 30px;
    width:100%;

    &:extend(.clearfix all);
}
Run Code Online (Sandbox Code Playgroud)

但是在某些情况下我想横向溢出 - 假设我有一个需要全宽的背景图像或颜色.我不擅长CSS - 但是有可能实现我想要的吗?

css

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

如何在类库项目中使用Server.MapPath

我有一个Web应用程序,它有许多类库项目.下面是一些示例代码.

public static class LenderBL
{
    static string LenderXml { get { return "MyPathHere"; } }

    public static LenderColl GetLenders()
    {
        var serializer = new XmlSerializer(typeof(LenderColl));

        using (XmlReader reader = XmlReader.Create(LenderXml))
        {
            return (LenderColl)serializer.Deserialize(reader);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我通常会使用Server.MapPath来获取属性LenderXml的路径,但是当我在类库中使用它时,它将返回父解决方案的路径,而不是类库项目的路径.

有没有办法获得类库项目本身的路径?

提前致谢.

c# asp.net server.mappath

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

从DropdownList SelectedItem获取属性

我有一个下拉列表,我需要存储比标准列表项允许的更多数据.我采用的方法是为每个列表项添加一个属性.

我监视的变化,可以返回的SelectedIndex,但我不知道如何获取属性从那里回来,或者是否有实现这一目标的任何更简单的方法.

有任何想法吗?

asp.net attributes listitem drop-down-menu

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

Linq - 集团的第一个名字

我正在使用Entity Framework 6作为我的数据源.

我创建了一个页面,用他们名字的第一个字母列出供应商,所以首先我们有'A',然后'B'等等.

为了做到这一点,我使用了2个ListView对象 - 它可以很容易地成为一个Repeater,但这并不重要.

虽然我的供应商列表并不广泛,但我用来获取数据的方法非常昂贵,因为在数据绑定期间我必须将其称为27次.我很确定有更好的方法可以解决这个问题,但我不知道我在Linq周围的方式.

我认为必须有一种方法来分组数据,然后循环遍历组的内容.

这是重要的代码.linq用于检索子数据和数据绑定代码:

    public static IEnumerable<Supplier> StartsWith(string firstLetter)
    {
        return Select() // select simply returns all data for the entity
            .Where(x => x.Name.StartsWith(firstLetter, StringComparison.OrdinalIgnoreCase));
    }

    protected void ListViewAtoZ_ItemDataBound(object source, ListViewItemEventArgs e)
    {
        var item = e.Item;

        if (item.ItemType == ListViewItemType.DataItem)
        {
            var alphanumeric = (string)item.DataItem;

            var h2 = item.GetControl<HtmlGenericControl>("HtmlH2", true);
            h2.InnerText = alphanumeric;

            var childView = item.GetControl<ListView>("ListViewStartsWith", true);
            childView.DataSource = LenderView.StartsWith(alphanumeric);
            childView.DataBind();
        }
    }

    protected void ListViewStartsWith_ItemDataBound(object source, ListViewItemEventArgs e)
    {
        var item …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net

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