質問
これは私にはあまり意味がありません。データベーステーブルまたはビュー列の亜音色のオブジェクトを生成すると、columnxに名前が変更されたときに、最近2回発生しました。列名が値であるため、C#キーワードであるために初めて理にかなっています。しかし、それが起こった2回目は、テーブルの列名はグレードです。これはキーワードでも予約済みの単語でもありません。オブジェクトを生成するときに、Subsonicがこの列名をGradexに変える理由を誰かが知っていますか?
ありがとう。
解決
あなたが想定したように、それらが.NETまたはSQLタイプと競合しないように単語を置き換えることです。さまざまなDBプロバイダーとの亜音速講演を忘れないでください。「グレード」はMSSQLタイプではありませんが、それはOracleまたはMySQLなどです...
subsonic.utilities.utilityの下では、Applendingを行うKeywordCheckという名前のメソッドです。
おそらく、独自のバージョンをコンパイルし、この方法を修正して「グレード」を除外することができます。
public static string KeyWordCheck(string word, string table, DataProvider provider)
{
string appendWith = "X";
if (provider.AppendWith != string.Empty)
appendWith = provider.AppendWith;
return KeyWordCheck(word, table, appendWith);
}
所属していません StackOverflow