ConflictMode in Linq

March 31, 2009

when you require to cancel all transactions on first occurance of conflict in Linq,
there are two types of ConflictMode

1)FailOnFirstConflict
2)ContinueOnConflict

you can use if somthing like given below,

db.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

in above code task will rollback when firstconflict will occurs.

happy coding :)


convert your enum to List

March 20, 2009

In one of scenario i want to return Enum to List with to list datasource, for that here i have drafted method which converts enum type to Generic List

132 /// <summary>

133 /// Converts a enum to a list

134 /// </summary>

135 /// <typeparam name=”T”>string name of type of Enum</typeparam>

136 /// <returns>An enumerable list of Enum Type “T”</returns>

137 /// <remarks>

138 /// Usage:

139 /// var list = StringComparison.CurrentCulture.EnumToList();

140 /// </remarks>

141 public static IEnumerable<T> EnumToList<T>(this T enumName) where T : struct

142 {

143 Type enumType = enumName.GetType();

144 // Can’t use generic type constraints on value types,

145 // so have to do check like this

146 if (enumType.BaseType != typeof (Enum))

147 throw new ArgumentException(enumType + ” is not an Enum.”, “T”, null);

148 var enumValArray = Enum.GetValues(enumType);

149 var enumValList = new List<T>(enumValArray.Length);

150 foreach (int val in enumValArray)

151 {

152 enumValList.Add((T) Enum.Parse(enumType, val.ToString()));

153 }

154 return enumValList;

155 }

156 }

here how you can access it.

128 var list = StringComparison.CurrentCulture.EnumToList();

129 foreach (var enumValue in list)

130 {

131

132 }

Happy coding.