Archives for the 'C#' Category

Exception-handling wrappers for Task.ContinueWith()

The .NET 4 Task Parallel Library is great because you can specify continuations for new threads:

private Task<WebResponse> GetWebResponseAsync(string url)
{
var webRequest = WebRequest.Create(url);
return Task.Factory.FromAsync<WebResponse>(
webRequest.BeginGetResponse,
webRequest.EndGetResponse,
null);
}

public […]

28 May 2012 | .NET, C# | 3 Comments

Calling an Oracle stored procedure using NHibernate

The stored procedure must have an out sys_refcursor parameter as the first argument.
Tested with NHibernate 2.1.2 and Oracle 11g.
Needs Oracle.DataAccess (not System.Data.OracleClient). Tested with Oracle.DataAccess 2.111.6.0 AMD64.

NHibernate config:

<hibernate-configuration xmlns=”urn:nhibernate-configuration-2.2″>
<session-factory>
<property name=”connection.driver_class”>
NHibernate.Driver.OracleDataClientDriver
</property>
</session-factory>
</hibernate-configuration>

NHibernate mapping:

<hibernate-mapping xmlns=”urn:nhibernate-mapping-2.2″ assembly=”SampleProject” namespace=”SampleProject”>
<sql-query name=”GetEmployeesByDepartmentId”>
[…]

17 January 2012 | .NET, C# | 1 Comment

LINQPad – a worthy successor to Snippet Compiler

In 2009 I blogged about how Snippet Compiler allows us to test out C# code without having to create a project in Visual Studio just for that. Now there’s something better: LINQPad. Don’t be misled by its name; it’s not just for LINQ, it can run any C#, VB, or even SQL code. I particularly […]

5 August 2011 | .NET, C#, Applications | No Comments

LINQ to Entities: Deferred Execution and Lazy Loading

How do deferred execution and lazy loading work in LINQ to Entities (Entity Framework)? Let’s find out!
First, some sample data. We don’t want to make it too simple, so let’s have three entities:

Employee, who belongs to a Department
Department, which is under a Functional Group
Functional Group

The data:
Functional Groups

Id
Description

1
Functional Group 01

2
Functional Group 02

Departments

Id
Description
FunctionalGroupId

1
Department 01
1

2
Department 02
2

3
Department 03
2

Employees

Id
First Name
Last […]

9 November 2010 | LINQ, Entity Framework, .NET, C# | 4 Comments

By value, by reference: by analogy

Here’s my best attempt to explain C# value types and reference types, and “pass by value” and “pass by reference” to a newbie. (Not you, of course.)
Value types
A piece of paper, on which is written the number 5. You use this number to calculate something.
Reference types
A piece of paper, on which is written a memory […]

21 April 2010 | C# | 1 Comment