在更新命令期间,我收到以下错误:
由于对象的当前状态,操作无效
我试图从更新命令中删除一列,它工作正常.此列是一个FK,类似于其他工作正常的FK.
这是执行更新的代码:
ti.NumeroTitolo = titolo.Numero;
ti.RKTipoTitoloGenereTitolo = titolo.RkTipoTitoloGenereTitolo;
ti.RKBanca = titolo.RkBanca;
ti.DataScadenza = titolo.DataScadenza;
ti.RKTipoEsito = titolo.RkTipoEsito;
ti.ImportoTitolo = titolo.ImportoTitolo;
_dc.SubmitChanges();
Run Code Online (Sandbox Code Playgroud) 我需要执行一个执行SQL脚本来创建数据库的powershell脚本.根据我的知识,我以这种方式执行powershell命令:
Init.ps1
$DATABASEFILENAME = "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008INSTANCE\MSSQL\DATA\myDB.mdf"
$DATABASELOGNAME = "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008INSTANCE\MSSQL\DATA\myDB_log.ldf"
$DBUSEROWNER = "domain\spsetup"
Run Code Online (Sandbox Code Playgroud)
CreateDatabase.ps1
try {
$createDatabaseScript = ($scriptsFolder,$eachRelease,$DeployEnvironment,"Config" -join "\") + "\JM SiteRequest Database.sql"
$sqlVariable = "DATABASEFILENAME = '$DATABASEFILENAME'", "DATABASELOGNAME = '$DATABASELOGNAME'", "DBUSEROWNER = '$DBUSEROWNER'"
Invoke-Sqlcmd -ServerInstance "$MySQLServer" -InputFile "$createDatabaseScript" -ErrorAction Stop -Variable $sqlVariable
}
catch [Exception] {
Write-Error "Database error: $_.Exception"
}
Run Code Online (Sandbox Code Playgroud)
SQL脚本
CREATE DATABASE [SiteRequestDB] ON PRIMARY
( NAME = N'SiteRequestDB', FILENAME = N'$(DATABASEFILENAME)' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH …Run Code Online (Sandbox Code Playgroud) 我按照本网站的建议制作了以下方法:
public static T? GetElementValue<T>(this XElement xElement, string s)
where T : struct, IComparable
{
var result = new Nullable<T>();
try
{
if (string.IsNullOrEmpty(s) || s.Trim().Length > 0 || xElement.IsEmpty)
return result;
var element = xElement.Element(s);
if (element == null || element.IsEmpty)
return result;
var conv = TypeDescriptor.GetConverter(typeof(T));
result = (T)conv.ConvertFrom(element.Value);
}
catch (Exception ex)
{
ex.Message.WriteAsError();
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用它时string仍然会出现以下错误:类型'string'必须是不可为空的值类型才能在泛型类型或方法中将其用作参数'T'
有人可以告诉我为什么?谢谢