小编cm0*_*007的帖子

如何在LINQ-to-SQL中编写此交叉应用查询?

我有以下表格:

create table TableA (
    Id int primary key identity,
    Key int not null
)

create table TableB (
    Id int primary key identity,
    TableA_Id int not null foreign key references TableA(Id),
    Value varchar(80) not null
)
Run Code Online (Sandbox Code Playgroud)

我想使用lambda表示法在LINQ-to-SQL中编写以下查询:

select TableA.Key, b.Value
from TableA
cross apply (
    select top 10 TableB.Value
    from TableB
    where TableA.Id = TableB.TableA_Id
    order by TableB.Value
) b
where TableA.Key between 0 and 999
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

linq linq-to-sql

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

理解ConditionalWeakTable

我想了解ConditionalWeakTable.有什么区别

class ClassA
{
    static readonly ConditionalWeakTable<ClassA, OtherClass> OtherClassTable
        = new ConditionalWeakTable<ClassA, OtherClass>();
}
Run Code Online (Sandbox Code Playgroud)

class ClassB
{
    OtherClass otherClass;
}
Run Code Online (Sandbox Code Playgroud)

?使用ClassA或ClassB引用可空字段的优缺点是什么?

.net dictionary weak-references

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

如何将字节打印为两位十六进制字符?

我需要在Windows中生成C中的随机GUID.我有:

HCRYPTPROV hCryptProv = 0;
BYTE pbBuffer[16];
int i;
if (!CryptAcquireContextW(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))
    exit(1);
for (i = 0; i < N; i++) {
    if (!CryptGenRandom(hCryptProv, 16, pbBuffer))
        exit(1);
    printf("%X%X%X%X-%X%X-%X%X-%X%X-%X%X%X%X%X%X\n", pbBuffer[0], pbBuffer[1], pbBuffer[2], pbBuffer[3],
                                                     pbBuffer[4], pbBuffer[5], pbBuffer[6], pbBuffer[7],
                                                     pbBuffer[8], pbBuffer[9], pbBuffer[10], pbBuffer[11],
                                                     pbBuffer[12], pbBuffer[13], pbBuffer[14], pbBuffer[15]);
}
Run Code Online (Sandbox Code Playgroud)

但是,这会将任何小于0F的字节打印为单个字符(例如,0000-00-00-00-000000如果每个字符pbBuffer[j]都是0).我需要打印每个字节为两个字符(例如,00000000-0000-0000-0000-000000000000如果每个字符pbBuffer[j]都是0).我怎样才能做到这一点?

c printf

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

.NET Framework Client Profile的DataBinder.Eval的替代方案?

我想拥有DataBinder.Eval的功能(即执行运行时数据绑定); 但是,DataBinder.Eval是在System.Web程序集中定义的,该程序集在.NET Framework 4 Client Profile上不可用.

我想知道.NET Framework 4 Client Profile程序集中是否有替代方案,或者Mono DLL文件是否可能具有此功能.

如果没有,我可能必须使用Reflector复制DataBinder.Eval的代码,但我更愿意使用现有方法.

.net c# databinder .net-client-profile

8
推荐指数
0
解决办法
614
查看次数

在IL代码中,为什么在给定的情况下没有nop操作码?为什么在给定的情况下有一个br.s操作码?

假设我有以下代码:

public class Class1
{
    private Class2 obj;

    public void MethodA()
    {
        var class2 = new Class2();
        class2.PropertyI = 2;
        obj = MethodB(class2);
    }

    public Class2 MethodB(Class2 class2)
    {
        return class2;
    }
}

public class Class2
{
    public int PropertyI { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

使用Visual Studio 2010作为.NET 2.0程序集进行编译生成的IL代码如下:

.method public hidebysig instance void MethodA() cil managed
{
    .maxstack 3
    .locals init (
        [0] class ClassLibrary1.Class2 class2)
    L_0000: nop 
    L_0001: newobj instance void ClassLibrary1.Class2::.ctor()
    L_0006: stloc.0 
    L_0007: ldloc.0 
    L_0008: ldc.i4.2 …
Run Code Online (Sandbox Code Playgroud)

.net cil opcode .net-2.0

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

如何编写捕获异常并删除stacktrace的属性?

我希望为函数(或类)编写一个属性,它将捕获抛出的任何异常并将其StackTrace属性设置为string.Empty.我怎样才能做到这一点?

编辑:

如果我无法在普通的C#中实现这一点,我怎样才能在C#中使用PostSharp执行此操作?

exception postsharp stack-trace c#-4.0

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

LINQ如何在SQL Server中执行CAST()?

我在SQL Server中有一个表,其中的条目来自:

INSERT INTO table(data) VALUES CAST(getdate() AS BINARY(8))
Run Code Online (Sandbox Code Playgroud)

我想执行将执行的LINQ查询:

SELECT CAST(data AS DATETIME) FROM table
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

由于无法控制的原因,日期时间在SQL Server中存储为binary(8),因此我需要检索日期时间。

linq sql-server-2008 c#-4.0

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

将部分类合并到一个类的工具?

是否有工具将部分类合并为一个非部分类?

我不能使用Reflector,因为我需要变量名等来匹配.

编辑:

我有几百个我想要合并的部分类,所以剪切粘贴是不现实的.

c# partial-classes visual-studio-2010 visual-studio

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

如何使用Selenium C#WebDriver查找所有父元素?

我有一个By类的变量.我想调用FindElements返回相应的元素以及它的所有父元素By.我该怎么做呢?

selenium selenium-webdriver

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

如何在Windows上保留Ruby中的行结尾?

我在Windows上运行Ruby 1.9.3.当我运行以下代码片段时

text = File.read(path)
File.write(path, text)
Run Code Online (Sandbox Code Playgroud)

当文件具有CR + LF行结尾时,我得到完全相同的文件.当我在具有LF行结尾的文件上运行它时,它将更改为CR + LF行结尾.

如何使用Ruby on Windows读取和写入文件,以便保留行结尾,无论是CR + LF还是LF?

ruby

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