问题列表 - 第34400页

分配关联时停止EF加载实体

使用Entity框架v4和POCO实体生成器T4模板.

我遇到的问题是,当我分配关联实体时,Fixup方法正在加载数百个实体(参见下面的第4行).

Dim context = New SomeEntities
Dim list = context.Lists.FirstOrDefault(Function(l) l.ListId = 2)
Dim queryDetail = context.CreateObject(Of QueryDetail)()
queryDetail.CriteriaColumnType = context.CriteriaColumnTypes.FirstOrDefault(Function(cct) cct.CriteriaColumnTypeId = 145)
Run Code Online (Sandbox Code Playgroud)

CriteriaColumnType正在分配的实体具有一组QueryDetail对象,并且在进行赋值时,CriteriaColumnType实体上的FixUp方法将延迟加载所有关联的对象QueryDetails.

如何创建FK关联并将CriteriaColumnType实体附加到我的QueryDetail实体而不加载所有CriteriaColumnType's QueryDetail记录?

entity-framework

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

如何在重定向之前捕获重定向页面的HTML?

我试图读取包含非延迟重定向的页面的HTML.以下代码段(C#)将为我提供目标/重定向页面,而不是我需要查看的初始页面:

using System.Net;
using System.Text;

public class SomeClass {
    public static void Main() {
        byte[] data = new WebClient().DownloadData("http://SomeUrl.com");
        System.Console.WriteLine(Encoding.ASCII.GetString(data));
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法获取重定向页面的HTML?(我更喜欢.NET,但是Java或Python中的代码片段也没问题.谢谢!)

html c# language-agnostic vb.net redirect

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

ASP.NET MVC - 单元测试,在不使用任何模拟框架的情况下模拟HttpContext

由于我在使用Moq框架(ASP.NET MVC -使用Moq框架测试RenderPartialViewToString()的单元测试RenderPartialViewToString())时遇到问题,我正在考虑直接获取控制器,而不使用Moq进行这些特定测试,但是,如何在不使用任何Moq框架的情况下为我的测试模拟(或设置)HttpContext?

我需要能够做类似的事情,当然没有Moq:

    var mockHttpContext = new Mock<ControllerContext>();

    mockHttpContext.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("n1\\test");
    mockHttpContext.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

asp.net asp.net-mvc unit-testing httpcontext asp.net-mvc-2

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

JavaScript中的这种设计模式是什么?

我正在查看Scrabb.ly的js源代码.

我注意到他们会为每个不同的"类"做类似的事情:

var Board = (function() {
  var self = {};

  // settings for board
  self.options = {
    debug: true,
    addedPlayTiles: function() {},
    clearedPlayTiles: function() {}
  };

  // set to true once the board has been setup
  self.isSetup = false;

  // quick access to square elements
  self.squares = {};
  self.squareCount = 0;

  self.setup = function(options) {
    self.log("Setting up board!");

    // set options
    _.each(options, function(val, key) {
      self.options[key] = val;
    });

    return self;
})();
Run Code Online (Sandbox Code Playgroud)

中间的一些代码已被省略,但这应该给你一般的想法.

  1. 以下(function() { // …

javascript

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

去除点和斜线正则表达式 - 非相对

如何从非根相对路径中删除尾部斜杠和点.

例如,../../../somefile/here/(独立于它有多深)所以我得到了/somefile/here/

php regex

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

什么是!0在C?

我知道在C中,对于if语句和比较,FALSE = 0,其他任何等于true.

因此,

int j = 40
int k = !j

k == 0 // this is true
Run Code Online (Sandbox Code Playgroud)

我的问题恰恰相反.什么!0成为?1?

int l = 0
int m = !l

m == ? // what is m?
Run Code Online (Sandbox Code Playgroud)

c boolean

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

TSQL比较两个集合

当给出两组时

s1 = {a,b,c,d} s2 = {b,c,d,a}

(即)

TableA

Item
a
b
c
d

TableB

Item
b
c
d
a
Run Code Online (Sandbox Code Playgroud)

如何编写Sql查询以显示"tableA和tableB中的元素相等".[不使用SP或UDF]

产量

Elements in TableA and TableB contains identical sets
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005

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

通过Openrowset和Microsoft.ACE.OLEDB.12.0从csv导入(到不同的列)

我想澄清一下如何将.csv中的数据导入到包含3列的表中(参见下面的CR Ranking.csv).我的查询:

 select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\Work\;HDR=Yes;', 
 'SELECT * FROM [CR Ranking.csv]');
Run Code Online (Sandbox Code Playgroud)

输出结果为一个库存:

header: Category;INfo;Rank
row 1: Category 1;Info;1
row 2: Category 2;INfo2;2
row 3: Category 3;INfo3;3
Run Code Online (Sandbox Code Playgroud)

是否可以通过Openrowset将.csv中的数据拆分为3列?我想我错过了Openrowset params的东西,也许这很容易?

是的:我正在使用Office 2010的64位ODBC驱动程序来获取.csv,.txt等的驱动程序......这就是为什么提供程序是:'Microsoft.ACE.OLEDB.12.0',这就是为什么这个连接字符串没有'似乎工作:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\';Extended Properties="text; HDR=NO; FMT=Delimited";
Run Code Online (Sandbox Code Playgroud)

CR Ranking.csv:

Category;INfo;Rank
Category 1;Info;1
Category 2;INfo2;2
Category 3;Info3;3
Run Code Online (Sandbox Code Playgroud)

UPD 1: 是否有可能做格式的文件?

UPD 2:我通过格式文件制作 - 很简单.抱歉打扰了.

csv 64-bit sql-server-2005 openrowset sql-server-2008

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

File.Delete在之前调用Image.FromFile时失败,尽管复制了加载的图像并破坏了原始图像

更新

我使用下面的解决方案(从流加载图像),但得到新的问题.img对象绝对正确Image类实例,所有字段都填充了正确的值.但是打电话

img.Save("path/to/new/image.bmp");
Run Code Online (Sandbox Code Playgroud)

在它上面导致GDI +的新异常(System.Runtime.InteropServices.ExternalException,在GDI +接口中) - 我收到错误消息但是很好,我不知道如何翻译它.

原始问题

我有C#.NET Framework 2.0的问题

基本上我试图实现:

Image img = Image.FromFile("Path/To/Image.bmp");
File.Delete("Path/To/Image.bmp"); // Exception, the file is in use!
Run Code Online (Sandbox Code Playgroud)

删除原始文件时,将图像副本保留在内存中非常重要.我虽然有点奇怪,.NET仍然锁定硬盘上的文件,尽管它不再需要任何操作(整个图像现在在内存中,不是吗?)

所以我试过这个解决方案:

Image img = new Image(Image.FromFile("Path/To/Image.bmp")); // Make a copy
                    // this should immiedietaly destroy original loaded image
File.Delete("Path/To/Image.bmp"); // Still exception: the file is in use!
Run Code Online (Sandbox Code Playgroud)

我可以:

Image img = null;
using(Image imgTmp = Image.FromFile("Path/To/Image.bmp"))
{
    img = new Bitmap(imgTmp.Width, imgTmp.Height, imgTmp.PixelFormat);
    Graphics gdi = Graphics.FromIage(img);
    gdi.DrawImageUnscaled(imgTmp, 0, 0);
    gdi.Dispose();
    imgTmp.Dispose(); // just …
Run Code Online (Sandbox Code Playgroud)

.net c# system.drawing

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

为什么GetHashCode()很重要?

我试图了解object.GetHashCode()它的用途.我读到集合使用它来唯一地标识密钥.但我想测试一下,结果不是我的预期.

struct Animal
{
    public string Name { get; set; }
    public int Age { get; set; }

    public Animal(string name, int age) : this()
    {
        Name = name;
        Age = age;
    }

    public override int GetHashCode()
    {
        return Age.GetHashCode();
    }
}

object doggy = new Animal("Dog", 25);
object cat = new Animal("Cat", 25);

Hashtable table = new Hashtable();
table.Add(doggy, "Dog");
table.Add(cat, "Cat");

Console.WriteLine("{0}", table[cat]);
Console.WriteLine("{0}", table[doggy]);
Run Code Online (Sandbox Code Playgroud)

我原以为"猫"会覆盖"狗"或某种错误,告诉我"钥匙已存在"但输出是

"猫狗"

.net c#

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