Skip to main content

Delete a table from database having many dependency with others table using Entity framework

 Here is a sample C# code Snippet  :


string foreignKeyTableInfo = string.Format("EXEC sp_fkeys '{0}'", "Company");

                IQueryable<ForeignKeyTableReference> fkTable = _dbContext.Database.SqlQuery<ForeignKeyTableReference>(foreignKeyTableInfo).AsQueryable();

                //L

                string disableFkTemplate = "ALTER TABLE [{{tableName}}] NOCHECK CONSTRAINT [{{FoerignKeyName}}];";

                string enableFkTemplate = "ALTER TABLE [{{tableName}}] CHECK CONSTRAINT [{{FoerignKeyName}}];";

                //END



                string disable_template = "ALTER TABLE [{{tableName}}] NOCHECK CONSTRAINT ALL;";

                string enable_template = "ALTER TABLE [{{tableName}}] WITH CHECK CHECK CONSTRAINT ALL;";

                var dependencyList = fkTable.ToList();

                string dFquery = "";


                //disable_template foreign key contrstraint

                foreach (var fk in dependencyList)

                {

                    string dFquerySql = disableFkTemplate;

                    dFquerySql = dFquerySql.Replace("{{tableName}}", fk.FKTABLE_NAME);

                    dFquerySql = dFquerySql.Replace("{{FoerignKeyName}}", fk.FK_NAME);

                    dFquery = dFquery + dFquerySql + Environment.NewLine;


                }


                _dbContext.Database.CommandTimeout = 120;


                int res = _dbContext.Database.ExecuteSqlCommand(dFquery);


                // Remove from Company 

                _dbContext.Database.ExecuteSqlCommand(string.Format("DELETE  FROM Company WHERE ID='{0}'", companyId));

                //enable_template foreign key contrstraint

 

                string enableQuery = "";

                foreach (var fk in dependencyList)

                {

                    string eFslq = enableFkTemplate;

                    eFslq = eFslq.Replace("{{tableName}}", fk.FKTABLE_NAME);

                    eFslq = eFslq.Replace("{{FoerignKeyName}}", fk.FK_NAME);

                    enableQuery = enableQuery + eFslq + Environment.NewLine;


                }


                int res1 = _dbContext.Database.ExecuteSqlCommand(enableQuery);



Comments

Popular posts from this blog

FTP(File Transfer Protocol ) configuration and testing in Windows Server 2008 R2

First of all you have to know  what the FTP is " File Transfer Protocol ( FTP ) is a standard network protocol used to transfer files from one host or to another host over a TCP -based network". FTP Installation & Configuration: Step 1: Install the Web Server role with the IIS Management Console and FTP Server role services: Step 2: Add a new FTP Site Step 3: Setup the site with the default bindings and choose Allow SSL to avoid deploying a certificate:     Step 4: Configure user permissions and basic or anonymous permission. If your server is connected to your domain you can specify domain users, otherwise they must be local user accounts: Note: Finally you’ll have to configure your server’s firewall rules to allow access.Disregard any existing FTP firewall rules; although they should be enabled, they don’t actually allow access! Run Allow a Program Through Windows Firewall and grant access to C:\Windows\System32\svchost.exe T...

update your package-lock.json according to what you have specified in the package.json file

  The objective of the   npm update   command is to update your   package-lock.json   according to what you have specified in the   package.json   file. This is the normal behavior. If you want to update your package.json file, you can use  npm-check-updates :  npm install -g npm-check-updates . You can then use these commands: ncu  Checks for updates from the package.json file ncu -u  Update the package.json file npm update --save  Update your package-lock.json file from the package.json file