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 […]
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”>
[…]
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 […]
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 […]
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 […]