diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.cs
index 276f0b9a66..52987a70a0 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.AspxCSharp {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.tt
index 9ba4dde3fb..3adf2236bb 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Create.tt
@@ -89,10 +89,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.cs
index 8e3564b17c..f6af581755 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.AspxCSharp {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.tt
index 123fcc6518..a6fd013b08 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Delete.tt
@@ -84,10 +84,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.cs
index 6d3f0a9bdf..039a2b4b91 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.AspxCSharp {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.tt
index 0293b32d14..0d066438ba 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Details.tt
@@ -86,10 +86,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.cs
index 9a791bba42..a959723482 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.AspxCSharp {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.tt
index 6987c09a5e..89aab0156d 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/Edit.tt
@@ -93,10 +93,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.cs
index db4dcaf210..6c5542fe53 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.AspxCSharp {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.tt
index 11c004470d..76a04b8112 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.tt
@@ -114,10 +114,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.cs
index 896f6d65cc..dff08e93ff 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.CSHtml {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.tt
index 095e6ff4ed..b9956dea61 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Create.tt
@@ -85,10 +85,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.cs
index e5dd8481ff..7c522a4cc4 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.CSHtml {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.tt
index e68e440a68..0421f0174c 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Delete.tt
@@ -80,10 +80,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.cs
index f2d43f5624..3995815bde 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.CSHtml {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.tt
index 5e9d4c68b6..d521eea3be 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Details.tt
@@ -82,10 +82,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.cs
index f0d2589692..53aed3afa7 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.CSHtml {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.tt
index 7b1dc1b1ac..c326081db8 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/Edit.tt
@@ -89,10 +89,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.cs
index 9caae3168d..5cec291ac8 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.cs
@@ -38,10 +38,23 @@ namespace ICSharpCode.AspNet.Mvc.CSHtml {
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.tt
index 69cf769e8c..22797b8c66 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/CSHTML/List.tt
@@ -110,10 +110,23 @@
}
bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
+ {
+ return
+ IsIdProperty(propertyInfo) ||
+ IsIdPropertyPrefixedWithClassName(propertyInfo);
+ }
+
+ bool IsIdProperty(PropertyInfo propertyInfo)
{
return IsMatchIgnoringCase(propertyInfo.Name, "id");
}
+ bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
+ {
+ string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
+ return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
+ }
+
static bool IsMatchIgnoringCase(string a, string b)
{
return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Create.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Create.tt
index 3b6dc899b2..1c946e45ef 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Create.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Create.tt
@@ -90,9 +90,19 @@
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Delete.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Delete.tt
index b9eb5342ad..c4f23558d0 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Delete.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Delete.tt
@@ -85,9 +85,19 @@
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Details.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Details.tt
index b8bd64da31..1fc9f34a6f 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Details.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Details.tt
@@ -87,9 +87,19 @@
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Edit.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Edit.tt
index 302e05c09d..3cba553098 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Edit.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/Edit.tt
@@ -94,9 +94,19 @@
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/List.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/List.tt
index 330fe729c6..fbcf8941f7 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/List.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/AspxVisualBasic/List.tt
@@ -115,9 +115,19 @@
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Create.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Create.tt
index ab0a4ec44b..f6e102ac07 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Create.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Create.tt
@@ -86,9 +86,19 @@ End Using
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Delete.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Delete.tt
index d7fe24970f..2bfac2bf1f 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Delete.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Delete.tt
@@ -81,9 +81,19 @@ End Using
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Details.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Details.tt
index e1ef1f6fb1..37f02ffe56 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Details.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Details.tt
@@ -83,9 +83,19 @@ End Code
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Edit.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Edit.tt
index 42952dc5ee..245922a5d4 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Edit.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/Edit.tt
@@ -90,9 +90,19 @@ End Using
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/List.tt b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/List.tt
index 02c5226dbd..4049799e4d 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/List.tt
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/VisualBasic/CodeTemplates/AddView/VBHTML/List.tt
@@ -111,9 +111,19 @@ Next
End Sub
Function IsPrimaryKeyProperty(ByVal propertyInfo As PropertyInfo) As Boolean
+ Return IsIdProperty(propertyInfo) Or _
+ IsIdPropertyPrefixedWithClassName(propertyInfo)
+ End Function
+
+ Function IsIdProperty(ByVal propertyInfo As PropertyInfo) As Boolean
Return IsMatchIgnoringCase(propertyInfo.Name, "id")
End Function
+ Function IsIdPropertyPrefixedWithClassName(ByVal propertyInfo As PropertyInfo) As Boolean
+ Dim prefixedIdPropertyName As String = propertyInfo.DeclaringType.Name + "id"
+ Return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName)
+ End Function
+
Shared Function IsMatchIgnoringCase(ByVal a As String, ByVal b as String) As Boolean
Return String.Equals(a, b, StringComparison.OrdinalIgnoreCase)
End Function
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj b/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj
index 5dea32dbe8..a7f03462ac 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/AspNet.Mvc.Tests.csproj
@@ -95,6 +95,7 @@
+
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpCreateViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpCreateViewTemplateTests.cs
index f96530741c..384b6fe880 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpCreateViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpCreateViewTemplateTests.cs
@@ -37,7 +37,7 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Create.ModelProperty GetModelProperty(string name)
{
- return GetModelProperties().Single(p => p.Name == name);
+ return GetModelProperties().First(p => p.Name == name);
}
[Test]
@@ -355,5 +355,16 @@ MyView
Assert.IsTrue(modelProperty.IsPrimaryKey);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Create.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDeleteViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDeleteViewTemplateTests.cs
index 5469f1fc8d..f843d6d648 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDeleteViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDeleteViewTemplateTests.cs
@@ -37,7 +37,7 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Delete.ModelProperty GetModelProperty(string name)
{
- return GetModelProperties().Single(p => p.Name == name);
+ return GetModelProperties().First(p => p.Name == name);
}
[Test]
@@ -327,5 +327,16 @@ MyView
Assert.IsTrue(modelProperty.IsPrimaryKey);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Delete.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDetailsViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDetailsViewTemplateTests.cs
index 393cf4fe6e..51d1f4e86f 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDetailsViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDetailsViewTemplateTests.cs
@@ -348,5 +348,16 @@ MyView
Assert.AreEqual(String.Empty, primaryKeyName);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Details.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpEditViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpEditViewTemplateTests.cs
index b69fa47e0b..256bd66969 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpEditViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpEditViewTemplateTests.cs
@@ -390,5 +390,16 @@ MyView
Assert.AreEqual(String.Empty, primaryKeyName);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Edit.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpListViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpListViewTemplateTests.cs
index 79c4b05e8c..ced31c9f5c 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpListViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpListViewTemplateTests.cs
@@ -398,5 +398,16 @@ MyView
Assert.AreEqual(String.Empty, primaryKeyName);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ AspxCSharp.List.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/Models/ModelWithPrefixedIdPropertyInLowerCase.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/Models/ModelWithPrefixedIdPropertyInLowerCase.cs
new file mode 100644
index 0000000000..03224fd2b7
--- /dev/null
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/Models/ModelWithPrefixedIdPropertyInLowerCase.cs
@@ -0,0 +1,12 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+
+namespace AspNet.Mvc.Tests.CodeTemplates.Models
+{
+ public class ModelWithPrefixedIdPropertyInLowerCase
+ {
+ public int modelwithprefixedidpropertyinlowercaseid { get; set; }
+ }
+}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpCreateViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpCreateViewTemplateTests.cs
index 8237d0e3d6..c731ab8c56 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpCreateViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpCreateViewTemplateTests.cs
@@ -37,7 +37,7 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Create.ModelProperty GetModelProperty(string name)
{
- return GetModelProperties().Single(p => p.Name == name);
+ return GetModelProperties().First(p => p.Name == name);
}
[Test]
@@ -356,5 +356,16 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Assert.IsTrue(modelProperty.IsPrimaryKey);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Create.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDeleteViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDeleteViewTemplateTests.cs
index dde8d16c47..b9fbd39d34 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDeleteViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDeleteViewTemplateTests.cs
@@ -37,7 +37,7 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Delete.ModelProperty GetModelProperty(string name)
{
- return GetModelProperties().Single(p => p.Name == name);
+ return GetModelProperties().First(p => p.Name == name);
}
[Test]
@@ -328,5 +328,16 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Assert.IsTrue(modelProperty.IsPrimaryKey);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Delete.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDetailsViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDetailsViewTemplateTests.cs
index 54a2f4c510..4e4ef26b66 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDetailsViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDetailsViewTemplateTests.cs
@@ -349,5 +349,16 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Assert.AreEqual(String.Empty, primaryKeyName);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Details.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpEditViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpEditViewTemplateTests.cs
index e6d4757a6f..65bd5caa71 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpEditViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpEditViewTemplateTests.cs
@@ -391,5 +391,16 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Assert.AreEqual(String.Empty, primaryKeyName);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ Edit.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpListViewTemplateTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpListViewTemplateTests.cs
index 152f9fa97e..0beaeb574b 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpListViewTemplateTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpListViewTemplateTests.cs
@@ -399,5 +399,16 @@ namespace AspNet.Mvc.Tests.CodeTemplates
Assert.AreEqual(String.Empty, primaryKeyName);
}
+
+ [Test]
+ public void GetModelProperties_ModelHasPrefixedIdPropertyInLowerCase_PrefixedIdPropertyIsMarkedAsPrimaryKey()
+ {
+ CreateViewTemplatePreprocessor();
+ mvcHost.ViewDataType = typeof(ModelWithPrefixedIdPropertyInLowerCase);
+
+ CSHtml.List.ModelProperty modelProperty = GetModelProperty("modelwithprefixedidpropertyinlowercaseid");
+
+ Assert.IsTrue(modelProperty.IsPrimaryKey);
+ }
}
}