Posts tagged Tips
Writing Custom Exception Classes the Quick Way
Feb 15th
Until recently I thought this was a well-known feature. After demonstrating it a few times, I found out it wasn’t.
A long time ago, in an cubicle far, far away, someone created the .Net Framework. To cut a long story short, they simultaneously produced guidelines for creating Exception classes, which you should always use or face having your fingernails pulled out with a staple-gun.
The guidelines state:
“Use the common constructors shown in the following code example when creating exception classes. “
[C#]
public class XxxException : ApplicationException
{
public XxxException() {… }
public XxxException(string message) {… }
public XxxException(string message, Exception inner) {… }
public XxxException(SerializationInfo info, StreamingContext context) {…}
}
How to See the SQL Generated by a LINQ to SQL Command
Feb 14th
Quick tip: If you want to see the SQL generated by LINQ to SQL for a query or command, simply set the Log property of your generated DataContext class to an instance of a TextReader.
If this is your code:
using System; using System.Linq; using System.Data.Linq; namespace LINQtoSQLConsole { class Program { static void Main(string[] args) { var db = new NorthwindDataContext(); // Use the console to see the SQL db.Log = Console.Out; // A query var cust = db.Customers.Single( c => c.CustomerID == "ALFKI"); // An update cust.Region = "Northwest"; db.SubmitChanges(); } } }
… then this is what you’ll see:
Pretty good, eh?