Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int maxLength = dc.MyTable.Max(x => x.MyColumn.Length);
- select max_length from sys.columns as c inner join sys.objects o on c.object_id = o.object_id where o.name = 'myTable' and c.name = 'myColumn'
- public static int GetLengthLimit(Type type, string field) //definition changed so we no longer need the object reference
- //Type type = obj.GetType(); //comment this line
- int i = GetLengthLimit(typeof(Pet), "Name");
- public static int GetLengthLimit(Model.RIVFeedsEntities ent, string table, string field)
- {
- int maxLength = 0; // default value = we can't determine the length
- // Connect to the meta data...
- MetadataWorkspace mw = ent.MetadataWorkspace;
- // Force a read of the model (just in case)...
- // http://thedatafarm.com/blog/data-access/quick-trick-for-forcing-metadataworkspace-itemcollections-to-load/
- var q = ent.Clients;
- string n = q.ToTraceString();
- // Get the items (tables, views, etc)...
- var items = mw.GetItems<EntityType>(DataSpace.SSpace);
- foreach (var i in items)
- {
- if (i.Name.Equals(table, StringComparison.CurrentCultureIgnoreCase))
- {
- // wrapped in try/catch for other data types that don't have a MaxLength...
- try
- {
- string val = i.Properties[field].TypeUsage.Facets["MaxLength"].Value.ToString();
- int.TryParse(val, out maxLength);
- }
- catch
- {
- maxLength = 0;
- }
- break;
- }
- }
- return maxLength;
- }
Add Comment
Please, Sign In to add comment