Mam klasy odzwierciedlających mój plik dbml, która rozszerza DataContext, ale z jakiegoś dziwnego powodu, że każe miRozszerzanie System.Data.Linq.DataContext
System.Data.Linq.DataContext”nie zawiera konstruktor że trwa argumentów „0””
i już po różne tutoriale na ten temat i nie napotkał ten problem, i VS nie wydaje się w stanie go naprawić.
Oto moja realizacja
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Reflection;
using System.Text;
using IntranetMvcAreas.Areas.Accounts.Models;
namespace IntranetMvcAreas
{
partial class ContractsControlDataContext : DataContext
{
[FunctionAttribute(Name="dbo.procCC_Contract_Select")]
[ResultType(typeof(Contract))]
[ResultType(typeof(ContractCostCentre))]
[ResultType(typeof(tblCC_Contract_Data_Terminal))]
[ResultType(typeof(tblCC_CDT_Data_Service))]
[ResultType(typeof(tblCC_Data_Service))]
public IMultipleResults procCC_Contract_Select(
[Parameter(Name = "ContractID", DbType = "Int")] System.Nullable<int> ContractID,
[Parameter(Name = "ResponsibilityKey", DbType = "Int")] System.Nullable<int> ResponsibilityKey,
[Parameter(Name = "ExpenseType", DbType = "Char")] System.Nullable<char> ExpenseType,
[Parameter(Name = "SupplierID", DbType = "Int")] System.Nullable<int> SupplierID)
{
IExecuteResult result = this.ExecuteMethodCall(this, (MethodInfo)(MethodInfo.GetCurrentMethod()), ContractID, ResponsibilityKey, ExpenseType, SupplierID);
return (IMultipleResults)result.ReturnValue;
}
}
}
I to ContractsControlDataContext
który wskazał na jak problem
(btw, to nie ma żadnego związku z niedawnym poście zrobiłem, to tylko ja pracuję na tej samej rzeczy)
EDYCJA
Warto to wyjaśnić, dlatego proszę bardzo uważnie przeczytać.
Jeśli użytkownik nie będzie rozszerzał DataContext w klasie częściowej, wówczas nie będzie dostępny.
„Intranet.ContractsControlDataContext” nie zawierają definicji „ExecuteMethodCall” i żadna metoda rozszerzenie „ExecuteMethodCall” przyjęcie pierwszego argumentu typu „Intranet.ContractsControlDataContext” można odnaleźć (czy brakuje using dyrektywa lub odniesienie do montażu?)
Może brakuje mi czegoś niewiarygodnie głupiego?
SOLVED
myślę może Visual Studio walczyli tutaj, ale ja całkowicie polegała na auto wygenerowany kod. Po kliknięciu prawym przyciskiem myszy na widoku projektowania języka modelowania bazy danych i naciśnięciu klawisza "Wyświetl kod" automagicznie tworzy on dla ciebie klasę częściową w ramach określonego obszaru nazw, , jednak, ta przestrzeń nazw była błędna. Gdyby ktoś mógł to dla mnie wyjaśnić, byłbym bardzo wdzięczny.
Plik .designer.cs siedzi w namespace Intranet.Areas.Accounts.Models
jednak plik .cs (częściowe klasa generowane dla z .designer.cs złożyć przez Visual Studio) był w namespace Intranet
. Łatwo dostrzec kogoś bardziej doświadczonego w tej dziedzinie niż ja.
Prawdziwym problemem jest teraz, kto odpowie, czy zaznaczam jako poprawny? Ponieważ wielu z was przyczyniło się do znalezienia tego problemu.
Ale są konkretne? Powinny być dziedziczone niezależnie i nie muszą być wdrażane? – Kezzer