The JIT compiler in C# converts MSIL code to native code for execution, ensuring type safety. Types of JIT compilation include Pre-JIT, Econo-JIT, and Normal-JIT. Pre-JIT compiles all code at deployment, Econo-JIT compiles methods at runtime and removes them after execution, and Normal-JIT caches compiled methods.
Diving Into Microsoft .NET Entity Framework