Code-switching refers to the process of mixing two or more languages and the linguistic varieties within a single passage that may cause a contrasting effect. This study aims to reveal the grammatical constraints on intra-sentential code-switching in the case of Bahasa Indonesia-Chinese by collecting the data of code-switching of 14Indonesian students in Tianjin. The objectives of this study are to understand the grammatical categories, the language model, and the grammatical constraint. This study applies the equivalence and the free morpheme constraint, the Matrix Language Frame model. It is found that there are 159 cases of code- switching that can be viewed as grammatical categories in the case of Bahasa Indonesia-Chinese, the number including Noun, Conjunction, Verb, Adjective, Preposition, and Adverb. The rest cannot be put into grammatical categories as the switching occurs as the single clause; most of the clauses assign as complements in a sentence. The data also shows that the frequent repetition of Noun is remarkably high on code-switching in the case of Bahasa Indonesia-Chinese, which is 97 tokens. While the lowest is the switching in Adverb, which is three tokens, this study assumes that the position of Noun is free of syntactic restriction. The language model in the case of Bahasa Indonesia-Chinese code-switching shows that Bahasa Indonesia is the dominant language for most cases. However, the switching sentences that have the same order and frequent occurance of morpheme both of Bahasa Indonesia and Chinese, cannot be all assigned into the Matrix Language model, and Embedded Language Model (hereafter ML and EL), only the cases with switched code in system morphemes, and Bahasa Indonesia are the frequently used morphemes can be accounted for the ML or EL Model.