38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
1

Как подключить готовую базу данных на Microsoft Sql Server?

07.07.2014, 14:12. Показов 7250. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть готовая база данных на MS SQL Server, подскажите следующие моменты:
1. Как ее правильно подключить и обращаться к таблицам, делать запросы и т.п. ?
2. Как аутентифицироваться в базе на уровне Sql Server Authentification ?

Не по теме:

Видел в интернете пример аутентификации через таблицу в MS SQL, это не подходит.

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2014, 14:12
Ответы с готовыми решениями:

Как соединить базу данных SQL server с html кодом?
Я создал веб страницу и базу данных Как соединить базу данный с html кодом чтобы например...

Тип ошибки: Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'AL_AS
Я только начинаю, это мой первый пробный пример и никак не могу начать: Вот пример, который я...

Помогите отловить ошибку: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect s
Раньше токого не возникало, пытаюсь вставить в таблицу: otvet = trim(request.form('R1')) last =...

Проблемы с trusted_connection. Ошибка: Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) [Microsoft][ODBC SQL Server Driver][SQL Server]Login
Пытаюсь подключиться к БД. Строка соединения следующая: Provider=Microsoft OLE DB Provider for SQL...

13
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
07.07.2014, 18:26 2
что значит
Цитата Сообщение от Trukhanov_VP Посмотреть сообщение
готовая база данных
?
это локальная база или серверная? файл какое расширение имеет?
0
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
08.07.2014, 09:19  [ТС] 3
Цитата Сообщение от Trukhanov_VP Посмотреть сообщение
готовая база данных
значит я ее сделал и заполнил в Sql Servere, а не в студии.
Цитата Сообщение от Монфрид Посмотреть сообщение
это локальная база или серверная? файл какое расширение имеет?
База локальная, потом будет на сервер переносится. Файл с расширением *.mdf

Добавлено через 33 минуты
Монфрид, т.е. у меня в БД созданы пользователи (и на уровне локального сервера) как аутентифицироваться с помощью этих учеток, если такое вообще возможно?
0
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
08.07.2014, 11:21 4
тогда имеет смысл сразу присоединить бд к серверу. Читать тут
А потом можете использовать EntityFramework, либо напрямую через Ado.net общаться с базой.
В первом случае вам нужно добавить EntityModel в проект. При добавлении у вас спросят какой сервер и бд использовать, после чего сгенерируется по бд модель.
0
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
08.07.2014, 11:33  [ТС] 5
Цитата Сообщение от Монфрид Посмотреть сообщение
либо напрямую через Ado.net общаться с базой
На сколько я Вас понял, это примерно так:
C#
1
2
3
4
5
6
7
8
using System.Data.SqlClient;
...
SqlConnection ConSql;
ConSql = new SqlConnection("ConnectionString bla bla bla...");
/*
и т.д.
и т.п.
*/
Правильно я понимаю?
0
215 / 180 / 79
Регистрация: 02.10.2011
Сообщений: 651
08.07.2014, 12:03 6
Trukhanov_VP, ага
0
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
08.07.2014, 12:18 7
Trukhanov_VP, просто Ado вам может быть ближе, т.к в EF вся работа идёт через linq
1
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
08.07.2014, 12:48  [ТС] 8
Монфрид, скорее всего Вы правы, что мне следует использовать ADO.NET. У меня еще такой вопрос: в дальнейшем систему можно будет разместить на сервере и запустить "крутиться" в интернете ?
0
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
08.07.2014, 13:03 9
Цитата Сообщение от Trukhanov_VP Посмотреть сообщение
в дальнейшем систему можно будет разместить на сервере и запустить "крутиться" в интернете ?
что вы понимаете под системой? веб сайт+sql сервер?
если так то, да. Нужно опубликовать сайт в IIS, открыть нужные порты.
если только sql server, то тоже да- просто открыть порт для sqlServer'a
1
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
08.07.2014, 14:11  [ТС] 10
Цитата Сообщение от Монфрид Посмотреть сообщение
что вы понимаете под системой? веб сайт+sql сервер?
Да

Не по теме:

Имел ввиду рабочий сайт веб-сайт

0
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
09.07.2014, 10:28  [ТС] 11
Монфрид, интересный вопрос:

Нашел видео-урок в котором демонстрируют азы ADO.NET EF (Это конечно не совсем то, что я хотел), но возникает вопрос..
Конечно на сайте видео-урока нету описания в какой студии работает "программер", по оболочке я выбрал VS 2010.
Там создал проект все получилось, делал аналогично примеру. Но при создании проекта модуль авторизации создается через контекст:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;
 
namespace MvcTest.Models
{
    public class UsersContext : DbContext
    {
        public UsersContext()
            : base("DefaultConnection")
        {
        }
 
        public DbSet<UserProfile> UserProfiles { get; set; }
    }
 
    [Table("UserProfile")]
    public class UserProfile
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int UserId { get; set; }
        public string UserName { get; set; }
    }
 
    public class RegisterExternalLoginModel
    {
        [Required]
        [Display(Name = "Имя пользователя")]
        public string UserName { get; set; }
 
        public string ExternalLoginData { get; set; }
    }
 
    public class LocalPasswordModel
    {
        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Текущий пароль")]
        public string OldPassword { get; set; }
 
        [Required]
        [StringLength(100, ErrorMessage = "Значение \"{0}\" должно содержать не менее {2} символов.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Новый пароль")]
        public string NewPassword { get; set; }
 
        [DataType(DataType.Password)]
        [Display(Name = "Подтверждение пароля")]
        [Compare("NewPassword", ErrorMessage = "Новый пароль и его подтверждение не совпадают.")]
        public string ConfirmPassword { get; set; }
    }
 
    public class LoginModel
    {
        [Required]
        [Display(Name = "Имя пользователя")]
        public string UserName { get; set; }
 
        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Пароль")]
        public string Password { get; set; }
 
        [Display(Name = "Запомнить меня")]
        public bool RememberMe { get; set; }
    }
 
    public class RegisterModel
    {
        [Required]
        [Display(Name = "Имя пользователя")]
        public string UserName { get; set; }
 
        [Required]
        [StringLength(100, ErrorMessage = "Значение \"{0}\" должно содержать не менее {2} символов.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Пароль")]
        public string Password { get; set; }
 
        [DataType(DataType.Password)]
        [Display(Name = "Подтверждение пароля")]
        [Compare("Password", ErrorMessage = "Пароль и его подтверждение не совпадают.")]
        public string ConfirmPassword { get; set; }
    }
 
    public class ExternalLogin
    {
        public string Provider { get; set; }
        public string ProviderDisplayName { get; set; }
        public string ProviderUserId { get; set; }
    }
}

а при создании модуля БД через другой контекст:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
//------------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.Data.EntityClient;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
using System.Runtime.Serialization;
using System.Xml.Serialization;
 
[assembly: EdmSchemaAttribute()]
[assembly: EdmRelationshipAttribute("MagazinModel", "FK_tProduct_tCategory", "tCategory", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(MvcTest.Models.tCategory), "tProduct", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(MvcTest.Models.tProduct), true)]
 
namespace MvcTest.Models
{
    
    public partial class MagazinConnection : ObjectContext
    {
        
        public MagazinConnection() : base("name=MagazinConnection", "MagazinConnection")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    public MagazinConnection(string connectionString) : base(connectionString, "MagazinConnection")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        public MagazinConnection(EntityConnection connection) : base(connection, "MagazinConnection")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        
        partial void OnContextCreated();
    
public ObjectSet<tCategory> tCategory
        {
            get
            {
                if ((_tCategory == null))
                {
                    _tCategory = base.CreateObjectSet<tCategory>("tCategory");
                }
                return _tCategory;
            }
        }
        private ObjectSet<tCategory> _tCategory;
    public ObjectSet<tProduct> tProduct
        {
            get
            {
                if ((_tProduct == null))
                {
                    _tProduct = base.CreateObjectSet<tProduct>("tProduct");
                }
                return _tProduct;
            }
        }
        private ObjectSet<tProduct> _tProduct;
        public void AddTotCategory(tCategory tCategory)
        {
            base.AddObject("tCategory", tCategory);
        }
         public void AddTotProduct(tProduct tProduct)
        {
            base.AddObject("tProduct", tProduct);
        }
    }
 
    [EdmEntityTypeAttribute(NamespaceName="MagazinModel", Name="tCategory")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class tCategory : EntityObject
    {
        public static tCategory CreatetCategory(global::System.Int32 idCategory, global::System.String nameCategory)
        {
            tCategory tCategory = new tCategory();
            tCategory.IdCategory = idCategory;
            tCategory.NameCategory = nameCategory;
            return tCategory;
        }
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 IdCategory
        {
            get
            {
                return _IdCategory;
            }
            set
            {
                if (_IdCategory != value)
                {
                    OnIdCategoryChanging(value);
                    ReportPropertyChanging("IdCategory");
                    _IdCategory = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("IdCategory");
                    OnIdCategoryChanged();
                }
            }
        }
        private global::System.Int32 _IdCategory;
        partial void OnIdCategoryChanging(global::System.Int32 value);
        partial void OnIdCategoryChanged();
    
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String NameCategory
        {
            get
            {
                return _NameCategory;
            }
            set
            {
                OnNameCategoryChanging(value);
                ReportPropertyChanging("NameCategory");
                _NameCategory = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("NameCategory");
                OnNameCategoryChanged();
            }
        }
        private global::System.String _NameCategory;
        partial void OnNameCategoryChanging(global::System.String value);
        partial void OnNameCategoryChanged();
 
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("MagazinModel", "FK_tProduct_tCategory", "tProduct")]
        public EntityCollection<tProduct> tProduct
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<tProduct>("MagazinModel.FK_tProduct_tCategory", "tProduct");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<tProduct>("MagazinModel.FK_tProduct_tCategory", "tProduct", value);
                }
            }
        }
 
    }
    [EdmEntityTypeAttribute(NamespaceName="MagazinModel", Name="tProduct")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class tProduct : EntityObject
    {
        public static tProduct CreatetProduct(global::System.Int32 idProduct, global::System.Int32 idCategoryKey, global::System.String     nameProduct, global::System.Decimal price)
        {
            tProduct tProduct = new tProduct();
            tProduct.IdProduct = idProduct;
            tProduct.IdCategoryKey = idCategoryKey;
            tProduct.NameProduct = nameProduct;
            tProduct.Price = price;
            return tProduct;
        }
 
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 IdProduct
        {
            get
            {
                return _IdProduct;
            }
            set
            {
                if (_IdProduct != value)
                {
                    OnIdProductChanging(value);
                    ReportPropertyChanging("IdProduct");
                    _IdProduct = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("IdProduct");
                    OnIdProductChanged();
                }
            }
        }
        private global::System.Int32 _IdProduct;
        partial void OnIdProductChanging(global::System.Int32 value);
        partial void OnIdProductChanged();
    
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 IdCategoryKey
        {
            get
            {
                return _IdCategoryKey;
            }
            set
            {
                OnIdCategoryKeyChanging(value);
                ReportPropertyChanging("IdCategoryKey");
                _IdCategoryKey = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IdCategoryKey");
                OnIdCategoryKeyChanged();
            }
        }
        private global::System.Int32 _IdCategoryKey;
        partial void OnIdCategoryKeyChanging(global::System.Int32 value);
        partial void OnIdCategoryKeyChanged();
    
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String NameProduct
        {
            get
            {
                return _NameProduct;
            }
            set
            {
                OnNameProductChanging(value);
                ReportPropertyChanging("NameProduct");
                _NameProduct = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("NameProduct");
                OnNameProductChanged();
            }
        }
        private global::System.String _NameProduct;
        partial void OnNameProductChanging(global::System.String value);
        partial void OnNameProductChanged();
    
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Decimal Price
        {
            get
            {
                return _Price;
            }
            set
            {
                OnPriceChanging(value);
                ReportPropertyChanging("Price");
                _Price = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Price");
                OnPriceChanged();
            }
        }
        private global::System.Decimal _Price;
        partial void OnPriceChanging(global::System.Decimal value);
        partial void OnPriceChanged();
 
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("MagazinModel", "FK_tProduct_tCategory", "tCategory")]
        public tCategory tCategory
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<tCategory>("MagazinModel.FK_tProduct_tCategory", "tCategory").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<tCategory>("MagazinModel.FK_tProduct_tCategory", "tCategory").Value = value;
            }
        }
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<tCategory> tCategoryReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<tCategory>("MagazinModel.FK_tProduct_tCategory", "tCategory");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<tCategory>("MagazinModel.FK_tProduct_tCategory", "tCategory", value);
                }
            }
        }  
    }    
}

т.е. код контектов для двух различных провайдеров SqlClient и EntityClient
Можно каким либо образом задавать требуемый провайдер? или писать все "ручками" ?

Попробывал все тоже самое в студии 2012 для Web: модель БД добавляется с тем же контекстом, что и модель авторизации:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace MvcTest.Models
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    public partial class MagazinEntities : DbContext
    {
        public MagazinEntities()
            : base("name=MagazinEntities")
        {
        }
    
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
    
        public DbSet<tCategory> tCategory { get; set; }
        public DbSet<tProduct> tProduct { get; set; }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace MvcTest.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    
    public partial class tCategory
    {
        public tCategory()
        {
            this.tProduct = new HashSet<tProduct>();
        }
        // прописываю что IdCategory идентификатор        
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int IdCategory { get; set; }
        public string NameCategory { get; set; }
    
        public virtual ICollection<tProduct> tProduct { get; set; }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace MvcTest.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    
    public partial class tProduct
    {
        // прописываю что IdProduct идентификатор
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int IdProduct { get; set; }
        public int IdCategoryKey { get; set; }
        public string NameProduct { get; set; }
        public decimal Price { get; set; }
    
        public virtual tCategory tCategory { get; set; }
    }
}

В 2012 для Web меня в принципе все устраивает только вот при добавлении значения в таблицу identity, почему-то добавлять нужно в ручную
Миниатюры
Как подключить готовую базу данных на Microsoft Sql Server?  
0
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
15.07.2014, 16:19  [ТС] 12
Цитата Сообщение от Trukhanov_VP Посмотреть сообщение
т.е. код контектов для двух различных провайдеров SqlClient и EntityClient
пришлось сделать два контекста: 1ый- для авторизации, 2ой- для работы с данными.
Цитата Сообщение от Trukhanov_VP Посмотреть сообщение
при добавлении значения в таблицу identity, почему-то добавлять нужно в ручную
С этим моментом разобрался, удалил лишний код из View.
0
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
15.07.2014, 16:26  [ТС] 13
Пошел по пути Database First.
Создал я модель EMD (база большая и таблиц много...). При попытке открыть некоторые таблицы возникает ошибка System.OutOfMemoryException. В чем искать ошибку???
Миниатюры
Как подключить готовую базу данных на Microsoft Sql Server?  
0
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
16.07.2014, 16:54  [ТС] 14
Цитата Сообщение от Trukhanov_VP Посмотреть сообщение
ошибка System.OutOfMemoryException
Ошибка возникает из-за большого объема данных ( у меня около 65000 записей в таблице), с выборкой данных, выводится все корректно!
А теперь такой вопрос: как передать данные из функции в функцию т.е. на одном POST View данные отбирать, а в другом GET View - данные вывести на просмотр?
Мой код:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Medbase.Models;
 
namespace Medbase.Controllers
{
    public class PersonController : Controller
    {
        private MedbaseNContext db = new MedbaseNContext();
 
        private IEnumerable<PERSON> _person = new List<PERSON>(); 
 
        [HttpGet]
        public ActionResult Find(string returnUrl)
        {
            ViewBag.ReturnUrl = returnUrl;
            return View();
        }
 
        [HttpPost]
        public ActionResult Find(PersonFind pf)
        {
            var person = db.PERSON.Where(p => p.CODE == pf.CODE);
            int i = person.Count();
            if (i != 0 && i == 1)
            {
                _person = person.ToList();
                return RedirectToAction("Main",_person);
            }
            
            return View(pf);
        }
 
        [HttpGet]
        public ActionResult Main(IEnumerable<PERSON> person)
        {
            return View(person);
        }
    }
}

При переходе в Main, переменная _person = NuLL, почему это происходит?

Добавлено через 3 часа 41 минуту
Немного изменил код:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Medbase.Models;
 
namespace Medbase.Controllers
{
    public class PersonController : Controller
    {
        private MedbaseNContext db = new MedbaseNContext();
 
        [HttpGet]
        public ActionResult Find(string returnUrl)
        {
            ViewBag.ReturnUrl = returnUrl;
            return View();
        }
 
        [HttpPost]
        public ActionResult Find(PersonFind pf)
        {
            
            int i = db.PERSON.Where(p => p.CODE == pf.CODE).Count();
            if (i != 0 && i == 1)
            {
                return RedirectToAction("Main");
            }
            return View(pf);
        }
 
        [HttpGet]
        public ActionResult Main(PersonFind pf)
        {
            return View(db.PERSON.Where(p => p.CODE == pf.CODE).ToList());
        }
    }
}


Добавлено через 3 минуты
Хочу передать данные во View, для этого в контроллере пишу:
Кликните здесь для просмотра всего текста
C#
1
2
3
//...
ViewData["TypeFind"] = 0;
//...

Каким образом его преобразовать во View, что бы работать как с int ?
Кликните здесь для просмотра всего текста
C#
1
2
3
4
@if(TypeFind == 0)
{}
else
{}

как правильно присвоить к переменной TypeFind.

Добавлено через 2 часа 45 минут
Сделал через ViewBag
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
// Controller
ViewBag.TypeFind = 0;
// View
@{
int TypeFind = ViewBag.TypeFind;
}
 
@if (TypeFind == 0)
{
//
}
0
16.07.2014, 16:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2014, 16:54
Помогаю со студенческими работами здесь

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection
Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection Вот...

Загрузка изображения в базу данных SQL server из ASP.NET страницы
Доброго время суток! Написал страницу для загрузки изображений в базу даних, на локальной машине...

Как подключить Membership к SQL Server Express?
Ребята, хелп! Начал изучать ASP.NET MVC и застрял. Создаю проект по шаблону Internet Application,...

Как грамотно подключить БД SQL Server к проекту ASP.NET
Всем привет. Создал небольшой сервис ASP.NET в VS2015. Состоит из двух страниц: 1) вход в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru