thảo luận Thread dành cho anh em C#, .Net

  • Người tạo chủ đề Người tạo chủ đề BaronNashor
  • Ngày bắt đầu Ngày bắt đầu
AE cho hỏi có cách nào lấy được ID tự động tăng từ 1 bảng mà ko cần phải dùng db.SaveChanges();
trước đó.

Ví dụ:

ASP.net:
KHO_CT_XUAT_KHO newct = new KHO_CT_XUAT_KHO();

newct.MA_HANG = "MH01";

newct.DON_GIA = 40000;

db.SaveChanges();

var id = newct.ID;
Nếu dùng column identity thì bạn có thể dùng câu query
SELECT IDENT_CURRENT('tablename') + 1
Còn không thì có thể dùng sequence :big_smile:
 
Mình tốt nghiệp điện tử làm embedded dc 2 năm nhưng thấy ko hứng thú nữa, muốn đổi qua web vì thấy có nhiều cơ hội hơn. Học C#, ASP.NET, EF...đc hơn 2 tháng rồi thấy còn lan man quá. Hiện tại cũng vừa nghỉ việc xong, nên tính trong tuần sau apply đi PV luôn coi ngta hỏi cái gì. Thấy mấy jobs ASP.NET ở SG đa phần yêu cầu 2+ yoe nên ko biết apply đc cho đi PV ko nữa:byebye: Khi nào có offer sẽ quay lại thread này :D
 
hello các bác, mình có 1 vấn đề như sau
mình có màn hình A để chọn category, có thể chọn nhiều category, xong next sang màn B để hiển thị list sp theo id đã chọn ở A
hiện tại mình đang query theo list id prod in list cate đã chọn, thì nó vẫn ra tất cả sp nhưng k hiển thị theo thứ tự đã chọn (ví dụ chọn ở màn A thứ tự là 2, 1, 3 thì ở màn B luôn ra prod theo cate là 1,2,3)
nếu dùng for loop get theo từng id 1 thì sẽ trả ra thứ tự đúng, nhưng sẽ phải query nhiều lần, mình thấy k tốt lắm
các bác có phương án giải quyết nào khác k nhỉ :D
 
hello các bác, mình có 1 vấn đề như sau
mình có màn hình A để chọn category, có thể chọn nhiều category, xong next sang màn B để hiển thị list sp theo id đã chọn ở A
hiện tại mình đang query theo list id prod in list cate đã chọn, thì nó vẫn ra tất cả sp nhưng k hiển thị theo thứ tự đã chọn (ví dụ chọn ở màn A thứ tự là 2, 1, 3 thì ở màn B luôn ra prod theo cate là 1,2,3)
nếu dùng for loop get theo từng id 1 thì sẽ trả ra thứ tự đúng, nhưng sẽ phải query nhiều lần, mình thấy k tốt lắm
các bác có phương án giải quyết nào khác k nhỉ :D
:shame: trời sinh ra cái Sort để trang trí cho vui à bác. Sort theo cái Id Category là xong mà
Trong mysql có cái thằng field function trong order by xài khá tiện còn
SELECT categoryId, name
FROM category
ORDER BY FIELD(categoryId, "2", "1", "3")
còn trong SQL Server mình search thấy phải case when lòng vòng :v
https://stackoverflow.com/questions/398468/ordering-sql-query-by-specific-field-values
còn nêu mà xài LINQ thì củ chuối hơn :nosebleed:
https://stackoverflow.com/questions/728319/linq-orderby-against-specific-values
 
:shame: trời sinh ra cái Sort để trang trí cho vui à bác. Sort theo cái Id Category là xong mà
Trong mysql có cái thằng field function trong order by xài khá tiện còn
SELECT categoryId, name
FROM category
ORDER BY FIELD(categoryId, "2", "1", "3")
còn trong SQL Server mình search thấy phải case when lòng vòng :v
https://stackoverflow.com/questions/398468/ordering-sql-query-by-specific-field-values
còn nêu mà xài LINQ thì củ chuối hơn :nosebleed:
https://stackoverflow.com/questions/728319/linq-orderby-against-specific-values
hehe thanks bác, h mới biết cái ORDER BY FIELD
để mai test phát
 
@crazymankkkk bác cho e hỏi là e đang dùng + chuỗi trong SQL
id trong bảng là int, chuỗi ID e truyền xuống là dạng string "1,2,3"
thì query "where id in (listId)" nó hiểu là "in ("1,2,3") => cái này e fix = FIND_IN_SET
nhưng cái query " ORDER BY FIELD(Id, " + listId+ ");" nó lại hiểu luôn là " ORDER BY FIELD(Id, 1,2,3);"
vì sao lại thế nhỉ :D
 
@crazymankkkk bác cho e hỏi là e đang dùng + chuỗi trong SQL
id trong bảng là int, chuỗi ID e truyền xuống là dạng string "1,2,3"
thì query "where id in (listId)" nó hiểu là "in ("1,2,3") => cái này e fix = FIND_IN_SET
nhưng cái query " ORDER BY FIELD(Id, " + listId+ ");" nó lại hiểu luôn là " ORDER BY FIELD(Id, 1,2,3);"
vì sao lại thế nhỉ :D
:amazed: thím truyền nguyên cái lstId vô thì nó nhận nguyên list chứ sao
 
@crazymankkkk bác cho e hỏi là e đang dùng + chuỗi trong SQL
id trong bảng là int, chuỗi ID e truyền xuống là dạng string "1,2,3"
thì query "where id in (listId)" nó hiểu là "in ("1,2,3") => cái này e fix = FIND_IN_SET
nhưng cái query " ORDER BY FIELD(Id, " + listId+ ");" nó lại hiểu luôn là " ORDER BY FIELD(Id, 1,2,3);"
vì sao lại thế nhỉ :D
Bác đang viết bằng C# hay raw query nhỉ ?
Nếu theo hiểu thì ở trường hợp " where id in (listId)" nó hiểu là "in ("1,2,3") thì do listId nó đang được hiểu là data cho parameter truyền vào nên mặc định cho sẽ thêm dấu "". Cái này em ko biết bác viết bằng code c# hay query thuần nên hơi thắc mắc. Tại lúc truyền data vào thường sẽ có khúc define ra cái variable trong câu query sẽ được replace bởi data gì ví dụ như dòng dưới
command.Parameters.Add(new SqlParameter("Name", dogName));

Còn thằng dưới bác đang xài cái cộng chuỗi nên nó sẽ lấy
ORDER BY FIELD(Id, cộng với value của listId cộng thêm ); = > ORDER BY FIELD(Id, 1,2,3);
 
có bác nào code asp.net core với vscode không, có plugin nào hỗ trợ cú pháp razor không nhỉ
 
Hi anh em, cho mình hỏi trong thực tế thì:

Expression<Func<T>> khác gì với Func<T> vậy ? Mình đã đọc ở đây nhưng vẫn Confuse quá

https://stackoverflow.com/questions/793571/why-would-you-use-expressionfunct-rather-than-funct
Delegate chỉ là 1 con trỏ, nó trỏ đến bất cứ cái gì khớp với kiểu trả về và tham số.
Expression là 1 cấu trúc dữ liệu dạng cây, nó miêu tả cách dữ liệu dc sử dụng trong hàm.
Tóm gọn thì delegate ko quan tâm đến thân hàm, còn expression thì có.
 
Các bác cho em hỏi.
Ở .net framework em dùng .ToString(“”dd.MMM.yyyy) để định dạng ngày tháng hiển thị.
.net core em có dùng anotation mà cũng không được. Có cách nào không các bác.

via theNEXTvoz for iPhone
 
Mong các bác giúp đỡ em phần SignalR và sqldependency ạ. Em làm theo tut mãi vẫn không update được, sqldependency mãi không hoạt động ạ :sosad:
Em đa setting sql server theo trên mạng rồi vẫn không khắc phục được.
Em dân bên điện nên có mấy cái khó hiểu các bác thông cảm

via theNEXTvoz for iPhone
 
Sửa lần cuối:
Hi anh em, cho mình hỏi trong thực tế thì:

Expression<Func<T>> khác gì với Func<T> vậy ? Mình đã đọc ở đây nhưng vẫn Confuse quá

https://stackoverflow.com/questions/793571/why-would-you-use-expressionfunct-rather-than-funct

Nôm na là Expression có chứa thêm nhiều metadata info cho cái body của nó nữa
So, in other words, an Expression contains the meta-information about a certain delegate.
 
Mấy thím cho em hỏi không biết C# mà muốn dùng dạng database offline không cần kết nối đến server thì dùng cái gì tốt nhất nhỉ :adore: ?
 

Thống kê chủ đề

Ngày tạo
BaronNashor,
Người trả lời cuối
vuong222211,
Trả lời
266
Lượt xem
50.916
Quay lại
Lên đầu trang