Exemple #1
0
        private string[] GetColumnKeyName(DbEntityEntry entry)
        {
            System.Data.Entity.Core.Metadata.Edm.EntitySetBase setBase = ((IObjectContextAdapter)this).ObjectContext.ObjectStateManager.GetObjectStateEntry(entry.Entity).EntitySet;

            string[] keyNames = setBase.ElementType.KeyMembers.Select(k => k.Name).ToArray();
            return(keyNames);
        }
Exemple #2
0
        private string GetTableName(Type entityType)
        {
            System.Data.Entity.Core.Objects.ObjectContext      octx = (this as IObjectContextAdapter).ObjectContext;
            System.Data.Entity.Core.Metadata.Edm.EntitySetBase et   = octx.MetadataWorkspace.GetItemCollection(System.Data.Entity.Core.Metadata.Edm.DataSpace.SSpace)
                                                                      .GetItems <System.Data.Entity.Core.Metadata.Edm.EntityContainer>()
                                                                      .Single()
                                                                      .BaseEntitySets
                                                                      .Where(x => x.Name == entityType.Name)
                                                                      .Single();

            //String tableName = String.Concat(et.MetadataProperties["Schema"].Value, ".", et.MetadataProperties["Table"].Value);
            return(et.MetadataProperties["Table"].Value.ToString());
        }
        public string[] GetPrimearyKey <T>(T obj)
        {
            System.Data.Entity.Core.Objects.ObjectStateEntry objectStateManager;

            ((IObjectContextAdapter)_context).ObjectContext.ObjectStateManager.TryGetObjectStateEntry(obj, out objectStateManager);

            if (objectStateManager == null)
            {
                return(null);
            }


            System.Data.Entity.Core.Metadata.Edm.EntitySetBase setBase = objectStateManager.EntitySet;

            string[] keyNames = setBase.ElementType.KeyMembers.Select(k => k.Name).ToArray();

            return(keyNames);
        }