Size: a a a

var chat = new Chat();

2020 June 16

JS

John Stellmann in var chat = new Chat();
Vova Lantsov
Она и так в объекте, в DI) зачем ещё +1 объект это вопрос
Чтобы не писать постоянно
var cfg = new SomeConfig();
config.GetSection(section).Bind(cfg);
можно некоторые части конфига зарегистрировать отдельно
источник

VL

Vova Lantsov in var chat = new Chat();
Tilek Cherikbaev
как я могу с такого класса который я выше скинул, обращатсья к connection string
В этом классе сделай конструктор, получи в нём IConfiguration, di сам его передаст
источник

VL

Vova Lantsov in var chat = new Chat();
John Stellmann
Чтобы не писать постоянно
var cfg = new SomeConfig();
config.GetSection(section).Bind(cfg);
можно некоторые части конфига зарегистрировать отдельно
Я знаю, через Configure, но тут у него нет модельки да и делать бессмысленно)
источник

VL

Vova Lantsov in var chat = new Chat();
Раз уж IConfiguration достать можно
источник

VL

Vova Lantsov in var chat = new Chat();
Vova Lantsov
В этом классе сделай конструктор, получи в нём IConfiguration, di сам его передаст
Главное чтобы этот класс ты брал из di, а не вручную создавал new MyClass()
источник

TC

Tilek Cherikbaev in var chat = new Chat();
Vova Lantsov
Главное чтобы этот класс ты брал из di, а не вручную создавал new MyClass()
можете пример  , а то не доконца понял пожалуйста
источник

TC

Tilek Cherikbaev in var chat = new Chat();
вот в start up  создал   string connection = Configuration.GetConnectionString("DefaultConnection");
источник

TC

Tilek Cherikbaev in var chat = new Chat();
затем вызываю connection string в классе(где вызываю хранимки) но что делаю не правильно
источник

VL

Vova Lantsov in var chat = new Chat();
У тебя Startup и класс с хранимками это разные классы, у них разные конструкторы
источник

VL

Vova Lantsov in var chat = new Chat();
Tilek Cherikbaev
можете пример  , а то не доконца понял пожалуйста
Покажи как ты создаёшь и используешь класс с хранимками
источник

TC

Tilek Cherikbaev in var chat = new Chat();
Vova Lantsov
Покажи как ты создаёшь и используешь класс с хранимками
ВОТ  public class PS_Bins_DataAccessLayer
   {
       public IEnumerable<PS_Bins> GetAllData()
       {
           string connectionString = ConnectionString.CName;
           //string connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
           //string connectionString = Configuration.ConnectionStrings["DefaultConnection"];
           List<PS_Bins> lstr = new List<PS_Bins>();
         

           using (OracleConnection con = new OracleConnection(connectionString))
           {
               OracleCommand cmd = new OracleCommand("GET_PS_BINS", con);
               cmd.Parameters.Add("PARAM1", OracleDbType.RefCursor, ParameterDirection.Output);
               cmd.CommandType = CommandType.StoredProcedure;
               con.Open();
               using (OracleDataReader rdr = cmd.ExecuteReader())
               {
                   while (rdr.Read())
                   {
                       PS_Bins pS_ = new PS_Bins();
                       pS_.ID = Convert.ToInt32(rdr["ID"]);
                       pS_.Code = (rdr["CODE"]).ToString();
                       pS_.Name = (rdr["NAME"]).ToString();
                       pS_.Card_Name = (rdr["Card_Type"]).ToString();
                       
                       lstr.Add(pS_);
                   }
               }
               con.Close();
           }
           return lstr;
       }}
источник

TC

Tilek Cherikbaev in var chat = new Chat();
ТАМ ГДЕ string ConnectionString мне надо правильно взять значение default connection
источник

R

RA-TA-TATA in var chat = new Chat();
делай через модель мб лучше
источник

VL

Vova Lantsov in var chat = new Chat();
Tilek Cherikbaev
ВОТ  public class PS_Bins_DataAccessLayer
   {
       public IEnumerable<PS_Bins> GetAllData()
       {
           string connectionString = ConnectionString.CName;
           //string connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
           //string connectionString = Configuration.ConnectionStrings["DefaultConnection"];
           List<PS_Bins> lstr = new List<PS_Bins>();
         

           using (OracleConnection con = new OracleConnection(connectionString))
           {
               OracleCommand cmd = new OracleCommand("GET_PS_BINS", con);
               cmd.Parameters.Add("PARAM1", OracleDbType.RefCursor, ParameterDirection.Output);
               cmd.CommandType = CommandType.StoredProcedure;
               con.Open();
               using (OracleDataReader rdr = cmd.ExecuteReader())
               {
                   while (rdr.Read())
                   {
                       PS_Bins pS_ = new PS_Bins();
                       pS_.ID = Convert.ToInt32(rdr["ID"]);
                       pS_.Code = (rdr["CODE"]).ToString();
                       pS_.Name = (rdr["NAME"]).ToString();
                       pS_.Card_Name = (rdr["Card_Type"]).ToString();
                       
                       lstr.Add(pS_);
                   }
               }
               con.Close();
           }
           return lstr;
       }}
Я не просил скинуть класс
источник

VL

Vova Lantsov in var chat = new Chat();
Я просил скинуть его использование
источник

TC

Tilek Cherikbaev in var chat = new Chat();
Vova Lantsov
Я просил скинуть его использование
внутреи контроллера PS_BinsController : Controller                                                                                                            public IActionResult Index()
       {
           IEnumerable<PS_Bins> bins = pS_Bins.GetAllData();

           return View(bins);
       }
источник

VL

Vova Lantsov in var chat = new Chat();
Tilek Cherikbaev
внутреи контроллера PS_BinsController : Controller                                                                                                            public IActionResult Index()
       {
           IEnumerable<PS_Bins> bins = pS_Bins.GetAllData();

           return View(bins);
       }
pS_Bins переменная откуда берётся?
источник

TC

Tilek Cherikbaev in var chat = new Chat();
В конструкторе контроллера создаю
источник

VL

Vova Lantsov in var chat = new Chat();
Отлично, значит di используется

В PS_Bins_DataAccessLayer напиши

string _connectionString;

public PS_Bins_DataAccessLayer(IConfiguration config)
{
 _connectionString = config.GetConnectionString("DefaultConnection");
}

Затем в методе GetAllData используй
источник

VL

Vova Lantsov in var chat = new Chat();
Понял? То-есть также через конструктор, с помощью интерфейса IConfiguration
источник