Archives for the 'C#' Category

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# | No Comments

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# | 1 Comment

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

Data Sanitizer

I wrote a C# console app to sanitize CSV files. It replaces numbers with X’s so that social security number 123456 becomes XXXXXX and the address “49 Main St” becomes “XX Main St”. Both the input and the output are streamed to ensure that the program won’t run out of memory even with arbitrarily large […]

19 March 2010 | C# | 1 Comment